Hi Michael,
I’d be happy to work on this.
For context, I was the person that was fostering getting continuations into Rhino mainline from code originally written by Igor Bukanov.
Later on I was using them in a proprietary mission-critical system for a pretty big company (can’t really say more :-) ) where we were multiplexing hundreds of thousands of long-running processes on a small number of threads using Rhino continuations. Of particular interest to you might be the fact that we were serializing continuations too, and among other things I implemented a system where I cryptographically fingerprinted the functions (InterpreterData objects if memory serves correctly) and saved the signatures of on-stack functions with serialized continuations and verified them upon loading to make sure the code hasn't changed since the continuation was saved. (The functions themselves weren’t saved as they would be large blobs and also lead to object duplication when loaded, but instead I had a custom serialization replacers/resolvers that were replacing functions with stubs on serialization and resolving them to canonical instances of function code on deserialization.)
Later on I transplanted some of those ideas into the domain of web MVC; producing a Spring MVC component where you could write web flows using continuations (it’s on
https://github.com/szegedi/spring-web-jsflow) at the moment.
So, you could say I’ve been doing a lot of work on continuation based systems in Rhino, mostly between 2003 and 2010. Incidentally, I was just modernizing spring-web-jsflow over a weekend sometime last year.
So sure I say, if this is what it takes, let’s help Rhino go to space!
Attila.