
Hi, I found again a misunderstanding. On 29.10.11 04:10, Nick Coghlan wrote:
On Sat, Oct 29, 2011 at 8:40 AM, Ethan Furman <ethan@stoneleaf.us> wrote:
Greg Ewing wrote:
Mark Shannon wrote:
Stackless provides coroutines. Greenlets are also coroutines (I think).
Lua has them, and is implemented in ANSI C, so it can be done portably. These all have drawbacks. Greenlets are based on non-portable (and, I believe, slightly dangerous) C hackery, and I'm given to understand that Lua coroutines can't be suspended from within a C function.
My proposal has limitations, but it has the advantage of being based on fully portable and well-understood techniques. If Stackless has them, could we use that code? That's what the greenlets module *is* - the coroutine code from Stackless, lifted out and provided as an extension module instead of a forked version of the runtime.
No, the greenlet code is a subset of stackless. Stackless could remove its greenlet part and become an assembler-free implementation. It would just not get over the C extension problem. But that could then be handled by using the greenlet as an optional external module. (I think I said that before. Just wanted it to appear here) -- Christian Tismer :^) <mailto:tismer@stackless.com> Software Consulting : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 : *Starship* http://starship.python.net/ 14482 Potsdam : PGP key -> http://pgp.uni-mainz.de phone +49 173 24 18 776 fax +49 (30) 700143-0023 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/