Distributed Systems with ZeroMQ and Gevent (Presentation)
infoq.com
infoq.com
I've been trying to get something going for JavaScript on top of spidermonkey, but it's been slow going. A few hacks are available in my github. Some of them use spidermonkey's generators to cooperate, and this approach will have the same drawbacks this approach has in python, but this hack with python-spidermonkey and greenlet is pretty sweet:
https://github.com/fzzzy/js-actors
python-spidermonkey is on a really old version of spidermonkey, unfortunately.
Also, node-fibers looks totally sweet:
https://github.com/laverdet/node-fibers
Lua has coroutines built in, so I'm guessing this kind of stuff is common there. I haven't used lua much, though.
Ruby also has cooperative userland threads that could be used to implement a cooperative async lib. I always wondered why nobody did. I would have, if I had ever decided to get heavily into ruby.
Well worth a read and they also lead me to https://github.com/progrium/ginkgo which looks like some very abstractions for building services like the ones on the talk.