Olivier Danvy, Kevin Millikin and Lasse R. Nielsen. On One-Pass CPS Transformations. March 2007.
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.
Also in JFP 17:793-812 (2007).
Recent comments
1 week 1 day ago
1 week 5 days ago
6 weeks 6 days ago
7 weeks 1 hour ago
19 weeks 9 hours ago
19 weeks 1 day ago
19 weeks 2 days ago
19 weeks 2 days ago
20 weeks 12 hours ago
20 weeks 12 hours ago