An Extensional Characterization of Lambda-Lifting and Lambda-Dropping
Olivier Danvy August 1999 |
Abstract:
Lambda-lifting and lambda-dropping respectively transform a
block-structured functional program into recursive equations and vice versa.
Lambda-lifting was developed in the early 80's, whereas lambda-dropping is
more recent. Both are split into an analysis and a transformation. Published
work, however, has only concentrated on the analysis parts. We focus here on
the transformation parts and more precisely on their correctness, which
appears never to have been proven. To this end, we define extensional
versions of lambda-lifting and lambda-dropping and establish their
correctness with respect to a least fixed-point semantics
Available as PostScript, PDF, DVI. |