I wish we had either (ideally both) in the JVM. I frequently come across situations with clojure where using a coroutine or continuation would be the cleanest solution. There are various libraries that use some kind of bytecode instrumentation to achieve it, but this places serious constraints on where and how you can use them. Really, this needs to be a VM feature.
I wonder if it's possible to apply the same hack as this one for .NET:
Comments
I wish we had either (ideally both) in the JVM. I frequently come across situations with clojure where using a coroutine or continuation would be the cleanest solution. There are various libraries that use some kind of bytecode instrumentation to achieve it, but this places serious constraints on where and how you can use them. Really, this needs to be a VM feature.
I wonder if it's possible to apply the same hack as this one for .NET:
http://msdn.microsoft.com/en-us/magazine/cc164086.aspx
Basically, use the low-level, OS (C) fiber/coroutine facility and attach the fiber as a thread.
It mainly deals with Scheme, but http://portal.acm.org/citation.cfm?id=1086393 examines implementing continuations on VMs that don't support them.