On Sat, Apr 21, 2012 at 06:48:08AM -0400, Andrew Whitworth wrote:
> Techically not "broken", though it is behavior I've never quite agreed
> with. When a coroutine returns, it is considered "dead" and cannot be
> executed again. This makes them, I think, quite useless for most
> possible applications.
> 
> I thought there was a way to manually reset the coroutine to get it
> invokable again. However, looking at the code I don't see any such
> thing.

Rakudo uses coroutines extensively for its gather/take construct.  

The trick is to only execute clones of the coroutine itself; the clones
eventually reach the "dead" state, but the original uninvoked coroutine 
is always available for producing fresh copies to restart from.

Pm
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to