On Sat, Sep 26, 2009 at 1:41 AM, Charles Oliver Nutter
<[email protected]> wrote:

> Ok, here's a classic challenge for those of us on the JVM: coroutines.

In order to know what you need, you need to say what *kind* of
coroutines these are.  The Lua people have three binary features that
a given language's coroutines may or may not have:

1) Are coroutines first-class objects that can be passed around as
arguments or results and stored in data structures, or are they only
creatable and runnable using special syntax?

2) Can a coroutine resume any other coroutine (full coroutines,
symmetric coroutines), or only the coroutine that invoked it
(semi-coroutines, asymmetric coroutines, semi-symmetric coroutines)?

3) Can only the coroutine itself yield (shallow), or can any
subroutine invoked by the coroutine yield on its behalf (deep)?

Here's their paper on how it's done in Lua, which has first-class deep
semi-coroutines: http://www.inf.puc-rio.br/~roberto/docs/corosblp.pdf
.

-- 
GMail doesn't have rotating .sigs, but you can see mine at
http://www.ccil.org/~cowan/signatures

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to