Clementson's Blog

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

September 2006
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
Aug  Oct

Summary of lispvan September meeting - Client-side continuations for web programming

Monday, September 25, 2006

At the September lispvan meeting, James Wright presented an interesting "twist" on the use of continuations in web application programming: while most people who use continuations to maintain state do so on the server (e.g. - UCW, PLT Web Server, Seaside), James illustrated how similar results can be achieved by using continuations on the client. His jwacs library "is a program transformer that makes it easier to develop complex client-driven web applications by adding first-class continuation support to Javascript". According to James, the benefits of the jwacs approach are:

James used LispWorks and CL-YACC to write the jwacs compiler; however, he tests with both the LispWorks Personal Edition and SBCL CL implementations, so it is known to work on a number of CL platforms. The following diagram illustrates how the jwacs source files and compiler relate to (and are transformed into) "normal" JavaScript for an HTML page:

jwacs

Jwacs is similar in goals but different in approach to Narrative JavaScript (which was released just before James released jwacs). Incidentally, anyone who is interested in innovative JavaScript approaches should subscribe to Chris Double's blog. He writes about a variety of different language topics, and has a bunch of interesting JavaScript posts that are definitely worth reading.

Luckily, the sound problems that plagued us at the August meeting didn't recur (yes, Marc, I tested the sound recording first this time! ;-) ), so I was able to successfully record the presentation. James also kindly provided the transcript of his presentation. Here are the links: Thanks James for an interesting presentation!

emacs Copyright © 2006 by Bill Clementson