[racket] begin vs +

From: Keiko Nakata (keiko at kurims.kyoto-u.ac.jp)
Date: Mon Aug 2 10:09:32 EDT 2010

I may think how call/cc should deal with delay's (call-by-need) is a moot point
(theory vs implementation).


From: Matthias Felleisen <matthias at ccs.neu.edu>
Subject: Re: [racket] begin vs +
Date: Mon, 2 Aug 2010 10:00:39 -0400

> call/cc captures the environment when it creates a procedural representation of the continuation, just like lambda. The two are doing more or less the same thing with two differences:  
>  (1) lambda uses an explicit expression to create a procedure while call/cc uses an implicit expression (the current evaluation context); 
>  (2) lambda create a mathematical abstraction if the expression avoids effects and call/cc introduces an effect into its procedure (abort). 
> Note, a functional continuation creator (say F but NOT shift) avoids the second difference. 

Posted on the users mailing list.