[plt-scheme] Continuations
The word 'continuation' that you are referring to in your message has
a 3-bullet explanation:
1. Imagine a program execution, either terminating or running forever.
Start ----- * --------- * --------- * -------- * ------->
2. Imagine any point in the middle (+), and if your program
terminates, it could even be the end.
Start ----- * --------- * --------- + -------- * ------->
3. Turn the ___rest of the computation___ from this point to the end
into a procedure.
(lambda (intermediate-result-if-any) ... instructions to perform
the rest of the computation ...)
That procedure is the continuation and it is handed to your program.
And that's all there is to it.
And yes, Scheme is the programming language that is powerful enough
to do this.
SML/NJ can do it too, and it does it in one instruction.
And the concept is useful but not critical to FP.
-- Matthias
On Nov 5, 2007, at 8:00 PM, Joseph Anthony Pasquale Holsten wrote:
> Okay, with the closure discussion wrapping up, what is a
> continuation? I get closures as in
> (define (f x) (lambda (y) (* x y)))
>
> but is that a continuation too? Is a closure necessarily a
> continuation, or vise versa, or are they mutually exclusive?
>
> Joseph Holsten
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme