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. 
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to