> 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.



Reply via email to