Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure
DOI:
https://doi.org/10.7146/brics.v6i27.20096Resumé
Lambda-lifting a block-structured program transforms it into a set of
recursive equations. We present the symmetric transformation: lambda-dropping. Lambda-dropping a set of recursive equations restores block structure and lexical scope.
For lack of block structure and lexical scope, recursive equations must
carry around all the parameters that any of their callees might possibly
need. Both lambda-lifting and lambda-dropping thus require one to compute Def/Use paths:
- for lambda-lifting: each of the functions occurring in the path of a
free variable is passed this variable as a parameter;
- for lambda-dropping: parameters which are used in the same scope
as their definition do not need to be passed along in their path.
A program whose blocks have no free variables is scope-insensitive. Its
blocks are then free to float (for lambda-lifting) or to sink (for lambda-dropping) along the vertices of the scope tree.
Downloads
Publiceret
Citation/Eksport
Nummer
Sektion
Licens
Authors who publish with this journal agree to the following terms:- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).