> I spell a callcc. :-)
>
> --tom
The following article may be of interest to people pondering the value
of call-cc in Perl. More articles from the same thread are available
at
http://www.plover.com/~mjd/perl/six/continuations
Newsgroups: comp.lang.lisp,comp.lang.scheme
Subject: Re: the evil of continuations
References: <[EMAIL PROTECTED]>
From: Joe Marshall <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
Date: 16 Jun 2000 11:32:42 -0400
francois Morvillier <[EMAIL PROTECTED]> writes:
> In a paper I've read on the future of LISP (forgot the author and the
> whole title but it ends with "how to win big"),
Richard Gabriel wrote it. The title is
`Lisp: Good News, Bad News, How to Win Big'
The url is http://www.ai.mit.edu/docs/articles/good-news/good-news.html
> the author mentions the"
> fact that Scheme would be a good basis for a standardisation of LISP if
> it weren't for its continuations (call-with-current-continuation ...).
> Could someone please elaborate on this?
The typical uses of first-class continuations are in
exception-handling, co-routining, and in creating new control-flow
primitives. Common Lisp provides mechanisms for all of these, and the
Common Lisp implementation has much less overhead than first-class
continuations.
First class continuations make compilation harder: when any
computation may be restarted because a continuation might be captured
in a lower layer, the compiler has to be very conservative about
allocating mutable structures.
First class continuations are confusing as well --- apparently much
more so than catch/throw, error-handlers, co-routines, etc.
In Gabriel's opinion, first-class continuations are more trouble than
they are worth.
> Also I'd like to know what's the general opinion on continuations - do
> people actually understand them, use them, like them?
A lot of people understand them, they are not used *that* frequently,
except in Scheme system code. If you have them, they can be pretty
handy, but I don't miss them when I'm hacking Common Lisp.