[plt-scheme] Behind the scenes, is everything running using
continuation passing style?
Arthur Nunes-Harwit
anh at cs.rit.edu
Wed Nov 14 09:13:58 EST 2007
> If you *really* want to understand what's going on with CPS for
> compilation, read also the paper on A-normalization:
>
> PLDI 93 Flanagan, Sabry, Duba and Felleisen
> The Essence of Compiling with Continuations
> http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi93-fsdf.ps.gz
An extension of this work is _A Reflection on Call-by-Value_ by Sabry
and Wadler. One of the results is that the CPS language and the ANF
language are isomorphic. (One might consider their CPS language somewhat
different in that continuations are not values.) Thus I tend to take the
(radical?) view these compilation techniques as equivalent. A
linearization based on a transformation to post-fix notation that
subsequently becomes stack-machine code (see Norvig's Paradigms of AI
Programming) strikes me as very different.
As others have said, my impression is that ANF has become a very popular
intermediate representation. While it is not CPS, it is surely a close
cousin.
-Arthur
More information about the plt-scheme
mailing list