
On Wed, Feb 11, 2009 at 09:43:34PM +0800, Evan Laforge wrote:
On Wed, Feb 11, 2009 at 9:34 PM, Alistair Bayley
wrote: 2009/2/11 Cristiano Paris
: I wonder whether this can be done in Haskell (see muleherd's comment):
http://www.reddit.com/r/programming/comments/7wi7s/how_continuationbased_web...
WASH did/does something similar. You can certainly write applications in a similar, workflow-ish style (rather than like a state machine).
To hijack the subject, what happened to WASH? The paper seemed like it was full of interesting ideas, but the implementation seems to have failed to capture many hearts. Now it seems like a stagnant project. What were the fatal flaws?
I actually used it in production for some time, and abandoned it in favor of a FastCGI-based app about 6 months ago. There were several issues. The biggest was maintainability. CPS was difficult to work with, especially when different paths through a web app branch and may later reunite. There was not enough control over how things worked, and the HTML and JavaScript generated did not always fit our needs. Field names were essentially random, and IIRC, so were page names, making integration with other web sites difficult. You can't just link from an external static HTML to a particular page or to the submission of a particular form. There were also issues with people using the back button. It reminded me a fair bit of the issues I ran into when using Python's Twisted framework, actually. -- John