[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: So, what the heck is a continuation anyway?
Dan Sugalski wrote:
> At 07:08 PM 12/10/2001 +0000, Seth Gordon wrote:
>
>> Generally speaking, when you call a function, your program explicitly
>> says "evaluate this function with such-and-such arguments". The
>> interpreter translates this to "evaluate this function with
>> such-and-such arguments, and return the value and the control of
>> further execution to *here*."
>>
>> That "*here*" is the continuation. If the programmer can get explicit
>> control of the continuation, then he or she can do
>> perv^H^H^H^Hinteresting
>> things, since a function can return values to somewhere other than its
>> immediate caller.
>
>
> Oh, I see. A continuation is a function call where, not only do you get
> to decide what you return, you get to decide where you return it to.
>
> That's evil. I really like it. :)
>
> Are there general rules as to where you're allowed to return to? I
> presume picking PC addresses out of the air's considered bad form.
>
> Dan
>
> --------------------------------------"it's like this"-------------------
> Dan Sugalski even samurai
> dan@sidhe.org have teddy bears and even
> teddy bears get drunk
A continuation isn't a function call, when you resume a continuation
control goes to the point the continuation was captured.
--
Jeffrey Palm --> http://www.cs.colorado.edu/~jdp