[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).
Stefan
- Re: async 1.0, John Wiegley, 2012/06/21
- Re: async 1.0, Teemu Likonen, 2012/06/22
- Re: async 1.0, John Wiegley, 2012/06/22
- Message not available
- Re: async 1.0, John Wiegley, 2012/06/22
- Re: async 1.0,
Stefan Monnier <=
- Re: async 1.0, Stefan Monnier, 2012/06/22
- Re: async 1.0, Lennart Borgman, 2012/06/23
- Re: async 1.0, John Wiegley, 2012/06/23
- Re: async 1.0, Jeremiah Dodds, 2012/06/23
- Re: async 1.0, Thierry Volpiatto, 2012/06/23
- Re: async 1.0, Christopher Schmidt, 2012/06/24
- Re: async 1.0, Bastien, 2012/06/24
- Re: async 1.0, John Wiegley, 2012/06/24
- Re: async 1.0, Christopher Schmidt, 2012/06/25
- Re: async 1.0, John Wiegley, 2012/06/25