At 8:12 AM +0900 8/7/03, Ben Giddings wrote:
>On Wed August 6 2003 6:45 pm, Dan Sugalski wrote:
>>  >1) Why do they have the strange syntax they have
>>
>>  They don't--there's no inherent strange syntax to them. The syntax
>>  comes from the language implementing the continuation semantics.
>
>Like Hal said, I meant why do they have the strange syntax they do "in Ruby". 
>There just doesn't seem to be a good reason for a block.

Ah, OK. With the reference to the ll1 stuff, I was assuming you were 
pondering the oddness of Scheme or (call-with-current-continuation 
...). Sorry, misunderstood.

>  It also seems
>strange to have a class with no constructor that can only be created by a
>Kernel method.
>
>Is there some reason that Continuation.new couldn't work?

That'd be for Matz to answer for sure, but the one thing about 
continuations is you really can't create them in library code. (Well, 
you can but there are issues) Putting them in what's essentially a 
"guts of the interpreter" class makes some amount of sense.

>  > It's generally considered Really Evil to look at anything inside a
>>  continuation. Darned useful, though...
>
>I like being evil.  ;)
>
>I can imagine it being truly evil to be able to *change* a Continuation, but
>it doesn't strike me as terribly evil to look inside them.  Even if the only
>(programmer accessible) extra information them was similar to what you get
>out of Kernel.caller.

I expect that's just a SMOP. Throw something together and pass it by 
Matz (or make it a module, I suppose) and see how things go.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan / sidhe.org                         have teddy bears and even
                                       teddy bears get drunk