[Haskell-cafe] RE: [Haskell] Re: Trying On Learn Haskell Web Server

Bayley, Alistair Alistair_Bayley at ldn.invesco.com
Wed Mar 8 04:21:55 EST 2006

[Moving to café]

> From: haskell-bounces at haskell.org 
> [mailto:haskell-bounces at haskell.org] On Behalf Of Mattias Bengtsson
> > > I think that continuation-based web session state management, ala
> > > Smalltalk/Seaside, would be a very natural fit for a 
> Haskell framework -- all
> > > handled by a "Web session monad", maybe.  (Or maybe I 
> just don't know what I'm
> > > talking about ;)
> > 
> > This is by far the biggest drawback of HSP today. There is no
> > high-level support for continuations (other than explicitly defined
> > continuations at top level).
> I would really like to know exactly what this means. Are there any
> examples or papers on this?

I have a lot of links... which I'll feel free to spam you and the list with :-)

Here a list of continuation-based web-frameworks that I know about; there may be more:

Cocoon (Java + Javascript)  http://cocoon.apache.org/
Borges (Ruby)  http://borges.rubyforge.org/
Wee (Ruby)  http://www.ntecs.de/blog/Wee
WASH (Haskell)  http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/
Seaside (Smalltalk)  http://www.seaside.st/
PLT Scheme (Scheme)  http://www.plt-scheme.org/  (can't find the actual library)
Siscweb (Scheme)  http://siscweb.sourceforge.net/
Uncommon Web (Common Lisp)  http://common-lisp.net/project/ucw/
Rife (Java)  http://rifers.org

One of the first people (but not the only, I think) to recognise that continuations were a good way of modelling web interations was Christian Queinnec:

Probably the best-known such framework is Seaside (ironic, as Smalltalk doesn't natively support continuations, AFAIK):

Phil Wadler is also doing something along these lines in Links, I believe:

Excellent summary of problems with REST and continuations (Dave Roberts):

IBM article, mainly about Cocoon - a Java + Javascript framework:

More hype:

Bill Clementson's postings (he's a Lisper):

Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.

More information about the Haskell-Cafe mailing list