[<<][libprim][>>][..]
Sat Jan 2 15:33:11 CET 2010
ANF or not?
As far as I understand now:
* CPS makes sure that the central abstraction form is the closure.
The continuation is then just a closure. I don't think I can use
this as I need an explicit stack form for continuations, to be able
to attach continuation marks.
* ANF makes sure there are less forms that create continuation framse
(let, seq). All the other forms (if, set!, apply, prim-apply) can take
values from the environment and can be executed immediately.
Reading the intro of [1]. CPS's greatest use is that the full lambda
calulus provides an OS, leading to more transformation rules as
compared to lambda_v with a beta_v strict reduction rule.
The ANF's greatest use is that most of these transfomations can be
carried over to a style with implicit continuations.
[1] http://lambda-the-ultimate.org/node/69
[Reply][About][<<][libprim][>>][..]