Clementson's Blog

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

April 2004
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
Mar  May

Modal (Continuation-based) Web Server Framework example

Sunday, April 4, 2004

Chris Double has posted a 4-part example of a "Modal" (continuation-based) web server framework using Chicken Scheme in order to demonstrate how continuation-based web server frameworks work:

Chris also mentions that Core Technology Limited, the company he works for, has a commercial continuation-based framework that supports clustering, load balancing and persistent sessions, amongst other features. It serves as the 'engine' for a number of products that make building enterprise level web applications easier. It's interesting to hear about more companies recognizing the value of continuation-based web server frameworks.

This might be the first time you've heard the term "Modal Web Server Framework" used to describe what has previously been referred to as a "Continuation-based Web Server Framework". Chris and Avi Bryant decided to start using the "Modal" wording due to the awkwardness of using "Continuation-based" in descriptions of these types of frameworks. Patrick Logan prefers the "continuation-based" terminology (and lists some good reasons for keeping the older terminology). However, one of the benefits of "Modal" over "Continuation-based" (and Patrich points this out as well) is that not all Web Server Frameworks that use this approach actually use continuations. For example, UnCommon Web is a Common Lisp web appication framework that is "modal" but doesn't natively use continuations (it uses a CPS transformer). Paul Graham's Viaweb is another similar example. I sorta agree with Chris and Avi's rationale for the name change, but it remains to be seen whether their new terminology catches on.

Incidentally, it is neat to create a blog entry on 04/04/04, eh! Or maybe simple minds just enjoy simple pleasures ;-)

Update: 2004-12-28: Chris Double wrote a "Part 4", so I've added that to this posting.

emacs Copyright © 2004 by Bill Clementson