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