<div dir="ltr"><div><div><div>I'm not an ECL dev, but I would love this.<br><br></div>As the developer of cl-async, it's painful dealing with async code, even with the help of futures (or promises or whatever you want to call them nowadays). Having the ability to "fake" threading on top of an async engine without worrying about ugly code transformations or passing futures around everywhere would be really great.<br><br></div>I think CL as a whole has ignored the whole stack-saving paradigm (continuations, coroutines, etc) to a fault, and it would be nice to have at least one implementation that allowed real green threads (or something like it). <br><br></div><div>A question though: would error handling/catch/throw/etc and all that work the same when operating inside or around green threads?<br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 11, 2014 at 1:36 PM, Morgon Kanter <span dir="ltr"><<a href="mailto:morgon.kanter@gmail.com" target="_blank">morgon.kanter@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've been working on a resource project for developing lightweight ("green") threads in Common Lisp, without needing ahead-of-time code walking like in the green-threads library. Part of the project has necessitated adding the ability to save and restore the stack as part of the underlying Common Lisp implementation. I've chosen to use ECL for the project as it is a small and more easily understood codebase.<div><br></div><div>My question is -- would there be any interest in merging this functionality back into ECL proper once I've completed it? The proposed interface is simply:</div><div><br></div><div>(mp:save-stack) -- returns a stack object (can be used as a first-class lisp variable, garbage collected normally, etc.).</div><div>(mp:restore-stack stack-object) -- restores the stack to that given by stack-object. This function does not return.</div><div><br></div><div>Cheers,</div><div>-- Morgon</div></div>
<br>------------------------------------------------------------------------------<br>
Want excitement?<br>
Manually upgrade your production database.<br>
When you want reliability, choose Perforce<br>
Perforce version control. Predictably reliable.<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk</a><br>_______________________________________________<br>
Ecls-list mailing list<br>
<a href="mailto:Ecls-list@lists.sourceforge.net">Ecls-list@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/ecls-list" target="_blank">https://lists.sourceforge.net/lists/listinfo/ecls-list</a><br>
<br></blockquote></div><br></div>