[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: async 1.0

From: Stefan Monnier
Subject: Re: async 1.0
Date: Fri, 22 Jun 2012 21:44:32 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

> Stefan/Chong: how hard would this be to add?  I'm aware we'd have to
> move away from reliance on the C stack; but since they were able to
> make Python stackless, I wonder how hard it would be to make Emacs
> Lisp the same?

It's pretty much the same problem as the one that the concurrency branch
tackled: having several stacks at the same time.

In the concurrency branch, they made switching from one branch to another
fairly fast because it seemed to be an important property.  In your
case, that property might be less important, so you could use
a different approach where you unwind&rewind the specpdl stack.

Not using the C stack at all would require significant changes to the
C code, tho.  But you don't need that as long as you enforce that the
continuations are not called more than once.  Then you just need several
C stacks (pthreads provides that, for example).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]