Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

August 2003
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Jul  Sep

Continuation-based web servers

Thursday, August 28, 2003

Paul Graham used em!

Of course, Paul Graham also used continuations in CL when he developed Viaweb. Here's a comment of his from the ll1 mailing list:
"What you need continuations for is to make web pages that behave like subroutines of other web pages, e.g. a color-picker page that can 'return a value' to a page that 'calls' it. This is so far removed from the cgi script model of web sessions that people tend not to even think of it, but it is doable and can be a huge win in apps.

We did this in Viaweb (see http://www.paulgraham.com/lwba.html for details) and I'm writing a library of utilities for doing it right now for Arc.

As in many uses of continuations, you don't actually need call/cc-- you can fake continuations using carefully constructed closures-- but having call/cc makes it cleaner and easier."



Chris Double gives a good summary of Continuation-based web servers

Chris Double has a good summary of Continuation based web servers on his weblog with a list of of papers. I've also been collecting papers related to continuation based web servers. Here are the ones that I've found that aren't on Chris's list: Ovidiu Predescu has a nice presentation that describes the differences between the traditional page oriented web server model and the MVC (using continuations) model. Although his presentation is about Cocoon, it describes how javascript continuations maintain state. Probably a useful presentation to show people whose eyes glaze over when you try to explain how continuations can be used over the web with a Lisp.

emacs Copyright © 2004 by Bill Clementson