This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: continuation and multi-threading
- To: Ivan Toshkov <ivant at ifao dot net>
- Subject: Re: continuation and multi-threading
- From: Michael Livshin <mlivshin at bigfoot dot com>
- Date: 01 Aug 2000 11:18:20 +0200
- Cc: guile at sourceware dot cygnus dot com
- Organization: who? me?
- References: <m3d7jxa9gv.fsf@indy.STUDENT.CWRU.Edu><p2tpunx85vu.fsf@bohne.zrz.tu-berlin.de><m33dksvk8i.fsf@indy.STUDENT.CWRU.Edu><200007311359.NAA00736@ruebe.zrz.tu-berlin.de><m3g0oqnjrp.fsf_-_@indy.STUDENT.CWRU.Edu><xy7n1iyhvsc.fsf@mdj.nada.kth.se> <20000801115250.A31252@www.vizion.net>
Ivan Toshkov <ivant@ifao.net> writes:
> I think, the next best thing to having fast continuations is to have
> *any* continuations, which don't get much in the way of the other
> parts of the VM (is it possible?). So, one can retain the full speed
> of the VM if that's what one needs, but olso be able to use
> continuations if that's needed.
not sure if the following is relevant, but:
* there are actually two reasons (I think) that SCM/Guile
continuations are implemented the way they are implemented: one is
that it's simple to implement and lets you use the implicit C stack
as the evaluator stack; the other is that it makes continuations
easy to manipulate from C code.
* if it's deemed nesessary to have fast continuations (and to have the
ability to use them to implement threads etc.), then the second
point (ease of manupulation from C) becomes very tricky. I guess
it's still would be possible to support, by retaining the current
continuation implementation but using it only when a continuation is
captured from C. so you wouldn't be able to jump to such a
continuation from another thread, and maybe there would have to be
other limitations.
seems worth thinking about, nevertheless.
--
Hit the philistines three times over the head with the Elisp reference manual.
-- Michael A. Petonic