Continuations and CL Cookbook mods
Monday, September 1, 2003
Continuation Farms
There are some additional comments on the "continuation farms" (continuation based session state and web servers) posting at Avi Bryants blog.Sumary of Continuation-based Web Server issues
Chris Double has a good summary of the earlier posts by Avi and I on the problem of sharing a web application session across servers in a continuation based server. He also comments on how persisting continuations in SISC Scheme can be done:"Continuation objects in Sisc scheme are serializable. This means you can save then to a database after each request. You can reload it in another machine and all state is restored. "Saving state in CL or Smalltalk can be as simple as just saving an image.
Definition of a Continuation
Dan Sugalski has one of the best definitions of what a continuation is that I've come across:"a continuation is essentially a closure that, in addition to closing over the lexical environment, also closes over the control chain"I got to his definition via a post in lambda.
CL Cookbook mods
I have made a lot of changes to the CL Cookbook page "Setting up an IDE with Emacs on Windows". It is now titled "Setting up an IDE with Emacs on Windows or Mac OS X" and has the following changes:
- Has a section on setting up an Emacs/Lisp environment for Mac OS X. Not as extensive or detailed as the Windows section, but should provide the essential detail that someone would need to get started with Lisp and Emacs on OS X. The supplied .emacs file has support for:
- CLISP version 2.29 with ILISP or Inferior Lisp Mode.
- ACL version 6.2 with ELI.
- OpenMCL version 0.13 with ILISP.
- SBCL version 0.8.2.8 with ILISP.
- LispWorks 4.3 with ILISP (I was not able to get a trial version of LispWorks to try out on Mac OS X; however, I have made the changes to the .emacs file that I think will be necessary to support it).
- Includes instructions for downloading/installing the following optional Emacs packages:
- cua.el - For Windows-like cut/copy/paste (for MS Windows only).
- cua-emul.el - For Windows-like buffer switching (for MS Windows only).
- color-theme.el - If you don't like the standard Emacs defaults for colorization of code.
- Emacs Code Browser - For browsing source code.
- Instructions for downloading Franz's documentation and an Emacs package that lets you access it.
- Some explanations of the standard key overrides that are provided in the supplied .emacs file.
- The supplied .emacs file has been modified so that it can be used with either a Windows or a Mac install. It also has support for the latest ILISP (in CVS) and ELI (needs to be downloaded as a patch) enhancements but will work with the current releases of these packages as well. It will work with any of the optional Emacs packages or CL documentation on the page; however, it will not raise any errors if those packages are not installed. In fact, the only things that NEED to be downloaded to get a working Emacs/Lisp combination are Emacs, the .emacs file, and the Lisp implementation(s) you want to use. Depending on the Lisp implementation, that may also mean downloading ILISP.

