2002
DOI: 10.7146/brics.v9i3.21722
|View full text |Cite
|
Sign up to set email alerts
|

On One-Pass CPS Transformations

Abstract: 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 due to Appel, Danvy and Filinski, and Wand, building on Plotkin's seminal work. The other is noncompositional and based on a syntactic theory of the λ-calculus, and is due to Sabry and Felleisen. To relate the two approaches, we use Church encoding, Reynolds's defunctio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2003
2003
2013
2013

Publication Types

Select...
6
1

Relationship

4
3

Authors

Journals

citations
Cited by 10 publications
(9 citation statements)
references
References 28 publications
0
9
0
Order By: Relevance
“…We could as well wrap the remaining code into a stub shift that behaves as identity and then use flatMap. But that would introduce unnecessary "administrative" redexes, which customary CPS-transform algorithms go to great lengths to avoid (Danvy et al 2007 are translated by applying the other rules to the enclosed expression sequence, possibly skipping a prefix of non-CPS terms (SEQ).…”
Section: Type-directed Transformationmentioning
confidence: 99%
“…We could as well wrap the remaining code into a stub shift that behaves as identity and then use flatMap. But that would introduce unnecessary "administrative" redexes, which customary CPS-transform algorithms go to great lengths to avoid (Danvy et al 2007 are translated by applying the other rules to the enclosed expression sequence, possibly skipping a prefix of non-CPS terms (SEQ).…”
Section: Type-directed Transformationmentioning
confidence: 99%
“…Equivalently, such a term can be first transformed into monadic normal form and then translated into the term model of the continuation monad [29]. The CPS transformation is abundantly described in the literature [19,27,47,52]. For example, a term such as λf.λg.λx.f x (g x) is named and sequentialized into λf.λg.λx.let…”
Section: A1 Cps Transformationmentioning
confidence: 99%
“…We can fuse these two functions into an abstract machine. This abstract machine is in defunctionalized form, and we can write its higher-order counterpart, obtaining a traditional one-pass CPS transformer, as we have shown elsewhere [9]. …”
Section: Analysis Of the Refocused Cps Transformersmentioning
confidence: 99%