[Haskell-cafe] Can this be done?

John Goerzen jgoerzen at complete.org
Wed Feb 11 10:07:21 EST 2009


On Wed, Feb 11, 2009 at 09:43:34PM +0800, Evan Laforge wrote:
> On Wed, Feb 11, 2009 at 9:34 PM, Alistair Bayley <alistair at abayley.org> wrote:
> > 2009/2/11 Cristiano Paris <cristiano.paris at gmail.com>:
> >> I wonder whether this can be done in Haskell (see muleherd's comment):
> >>
> >> http://www.reddit.com/r/programming/comments/7wi7s/how_continuationbased_web_frameworks_work/
> >
> > 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


More information about the Haskell-Cafe mailing list