Peter Bex scripsit:

> What is used instead of CPS nowadays?

The typical view is that it's more important to optimize normal calls
and returns than calls to escape procedures, so a stack is used and then
copied when call/cc is invoked.  Chicken allocates stack frames on a
first-generation heap, which means that you are paying to GC that heap,
as well as the (nowadays small) space cost of retaining the C return
addresses on the stack that are never used.

> Does it give you "free" call/cc?

In effect, Chicken call/cc is not free; its cost is amortized over
all calls.  However, that cost is paid even by programs that never
use call/cc.  (This is not a criticism of Chicken; if you want Gambit
or Bigloo, you know where to find them.)

-- 
"Well, I'm back."  --Sam        John Cowan <co...@ccil.org>

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to