Stackless 3.0 alpha 1 at blinding speed
Tim Peters
tim.one at comcast.net
Mon Apr 21 16:19:35 EDT 2003
[Andrew Koenig]
> By way of further context for continuations, it might be worth
> mentioning that Scheme (an MIT dialect of Lisp) is based on
> continuations in a fundamental way.
It's also worth mentioning that SICP ("Structure and Interpretation of
Computer Programs" -- an excellent book all MIT Schemers know by heart)
doesn't mention Scheme's call/cc.
> Also, the Bell Labs/Princeton implementation of ML (``Standard ML of New
> Jersey'') is based internally on continuations, although this fact is
> pretty much invisible to user programs.
Par for the continuation course <wink>. More recently, REBOL 1.0 supported
first-class continuations, but I *think* they were removed after Joe
Marshall stopped work on the REBOL interpreter. Joe wrote a detailed
account of how continuations in REBOL 1.0 were used to nuke tail recursion:
http://ll1.ai.mit.edu/marshall.html
There's a list of pros and cons at the end, the last of which is especially
telling:
7. You need a degree in Comp. Sci. from one of a handful of places
to understand this. This turned out to be one of the biggest
hurdles. No one else in the company could extend the interpreter.
Nonetheless, I don't see an easy way of achieving tail-recursion
otherwise.
REBOL posed special problems, though, particularly in that you don't know at
compile-time where REBOL argument lists begin and end.
More information about the Python-list
mailing list