First-class functions dramatically increase expressiveness,
at the expense of static guarantees.
In ALGOL or PASCAL, functions could be passed as arguments but never escape their defining scope. Therefore, function arguments could serve as temporary access tokens or capabilities, enabling callees to perform some action, but only for the duration of the call.
In modern languages, such programming patterns are no longer available.
The central thrust of this work is to re-introduce second-class functions and other values alongside first-class entities in modern languages.
This Scala compiler plug-in exposes a programming model to enforce a no-escape policy for certain objects.
There are many potential uses:
scala-escape alternatives and similar packages
Based on the "Compiler Plugin" category
Do you think we are missing an alternative of scala-escape or a related project?