On One-Pass CPS Transformations
DOI:
https://doi.org/10.7146/brics.v14i6.21929Abstract
We bridge two distinct approaches to one-pass CPS transformations, i.e., CPS transformations that reduce administrative redexes at transformation time instead of in a post-processing phase. One approach is compositional and higher-order, and is independently due to Appel, Danvy and Filinski, and Wand, building on Plotkin's seminal work. The other is non-compositional and based on a reduction semantics for the lambda-calculus, and is due to Sabry and Felleisen. To relate the two approaches, we use three tools: Reynolds's defunctionalization and its left inverse, refunctionalization; a special case of fold-unfold fusion due to Ohori and Sasano, fixed-point promotion; and an implementation technique for reduction semantics due to Danvy and Nielsen, refocusing.This work is directly applicable to transforming programs into monadic normal form.
Downloads
Published
2007-03-12
How to Cite
Danvy, O., Millikin, K., & Nielsen, L. R. (2007). On One-Pass CPS Transformations. BRICS Report Series, 14(6). https://doi.org/10.7146/brics.v14i6.21929
Issue
Section
Articles
License
Articles published in DAIMI PB are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.