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 serversChris 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:
- Automatically Restructuring Programs for the Web
- Developing Interactive Web Programs
- Programming the Web with High Level Programming Languages
- Incorporating Scheme-based Web Programming in Computer Literacy Cources