On Thu, 2003-08-07 at 22:04, Ben Giddings wrote:

> Well, in this case, maybe with Continuation.new acting exactly like callcc 
> does now.  I just think it would look a little cleaner than it does now.  
> "callcc" seems deceptive because you're not actually calling the 
> continuation, you're evaluating a block and passing it the continuation, 
> which it may call later.  

Ahh, that's where the confusion is!  Callcc doesn't stand for "call
continuation".  It is short for "call with current continuation".   In
other words, it calls a function passing in the current continuation.

Actually, to me it seems that the Continuation.new syntax is the one
that is deceptive.  For callcc doesn't create a NEW continuation, it
just makes the existing continuation for the block available.  All
function calls have a continuation (its the code that is executed when
the function returns).  Callcc just makes that already existing
continuation available.

-- 
-- Jim Weirich       jweirich / one.net      http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct, 
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)