CPS Transformation of Beta-Redexes
Olivier Danvy
December 2004 |
Abstract:
The extra compaction of the most compacting CPS transformation
in existence, which is due to Sabry and Felleisen, is generally attributed to
(1) making continuations occur first in CPS terms and (2) classifying more
redexes as administrative. We show that this extra compaction is actually
independent of the relative positions of values and continuations and
furthermore that it is solely due to a context-sensitive transformation of
beta-redexes. We stage the more compact CPS transformation into a first-order
uncurrying phase and a context-insensitive CPS transformation. We also define
a context-insensitive CPS transformation that provides the extra compaction.
This CPS transformation operates in one pass and is dependently
typed
Available as PostScript, PDF, DVI. |