I'd worked my way through all the problems having to do with simulating a generator-based "stack" and it was not pretty--exception handling in particular with these "fake stacks" was hard to make behave the usual pythonic way.
I wasn't eager to give up on a generators, but I had to eventually concede that the practical quality of the project was more important than the founding idea.
Everything has been faster, easier to program, and more stable since giving up on generators and moving to the greenlet library. At bump, we just launched version 2.0 of our app, running our backends 100% on diesel2/greenlets:
http://github.com/jamwt/diesel/commit/2fc64f9d50bc6f9a5cfff0...
I'd worked my way through all the problems having to do with simulating a generator-based "stack" and it was not pretty--exception handling in particular with these "fake stacks" was hard to make behave the usual pythonic way.
I wasn't eager to give up on a generators, but I had to eventually concede that the practical quality of the project was more important than the founding idea.
Everything has been faster, easier to program, and more stable since giving up on generators and moving to the greenlet library. At bump, we just launched version 2.0 of our app, running our backends 100% on diesel2/greenlets:
http://mashable.com/2010/07/26/bump-2-0/