Continuations as thread states
Alaric B. Williams
alaric@abwillms.demon.co.uk
Fri, 2 May 1997 18:13:07 +0000
See - I deleted the header line. Manually. Just for you. So smile :-)
> >>: Fare
> >: ABW
> > On 29 Apr 97 at 1:15, lispos@math.gatech.edu wrote:
> Alaric, what have I been telling you all day!
Sorry :-(
They all went out in one batch, anyway, so I haven't heard anything
back from you until I started to write /this/ batch.
> >> First-class Continuations would of course trivialize threads,
> >> as well as being of great help to support the Schemists among LispOSers.
> Anyway, they're heading full speed towards CommonLISP that has/needs no FCC.
> However, I question even that claim of inefficiency wrt SMP. I really
> think FCC is attractive to implement a fully Lispy kernel, be it SMP or not.
It's attractive for MANY things. And the threads thing shouldn't be
revealing it's exact implementation anyway, should it???
> Actually, a simple Lisp implementation over SMP would do
> as if it were distributed computing with a really fast network
> (plus we'd factor the problems of SMP and Distributed Implementations).
We'd also have factored the problem of implementing it over a really
fast network, mostly, too!
> Of course, getting special heaps/stacks to store continuations
> might still be a performance boostup; but because we have factored
> continuations, this optimization will appear as a particular instance
> of a more general optimization that can benefit all code,
> not only continuations.
Yes, it's a smart GC trick... that's one of the things I like about
Scheme: whenever I read a paper about Scheme optimisation,
it usually says "This common construct in Scheme is slow. So we're
going to optimise the entire general class it occupies, since that's
easier than thinking about a special case, and it benefits other
code, too"
> #f
(> 2 1)
ABW
--
Alaric B. Williams (alaric@abwillms.demon.co.uk)
---<## OpenDOS FAQ ##>---
Plain HTML: http://www.delorie.com/opendos/faq/
http://www.deltasoft.com/faq.html
Fancy HTML: http://www.deltasoft.com/faq0000.html