Required Text

The required textbook for this course is

ANSI Common Lisp
Paul Graham
Prentice-Hall
ISBN 0-13-370875-6

Ignore the very misleadng title. This is not a reference on the Common Lisp standard. It is an introductory text, with some great example applications, and an up-to-date complete glossary of all Common Lisp functions and special operators.

Commentary (expansions, disagreements, challenges) by yours truly on various items in the book can be found here.

The serious Common Lisp programmer also needs to own a copy of

Common Lisp The Language
Guy L. Steele Jr.
Digital Press
ISBN 0-13-151507-1

This is the standard reference book, and is also available on-line, but not the definitive standard. That's the ANSI Common Lisp standard, which is available on-line in Kent Pitman's Common Lisp HyperSpec™.

The Newsgroup

The EECS 325 Newsgroup is the place to get announcements, ask for help, and give help. See Reading the EECS 325 Newsgroup for details on how to set this up.

Getting Lisp

Allegro Common Lisp 6.2 from Franz Inc is our default Common Lisp platform. Free trial versions for Windows, Linux and MacOS X are available. The license has to be renewed every 60 days.

Another option is LispWorks. This doesn't expire but the image only runs for a few hours, then, with ample warning, shuts down. If you use LispWorks, you need to download portable AllegroServe also. Versions of LispWorks are available for Windows, MacOS X, and Linux.

I use Allegro and LispWorks to test the code I distribute.

Users experienced with, or willing to experiment with other Common Lisp implementations, such as Gnu Common Lisp or CLisp, can do so, as long as

Code to Download

In addition to Lisp, you also need to download

Over the course of the quarter, some of the files in cs325.zip will be updated. These updates will be announced on the CS 325 newsgroup and available as individual Lisp files in the C25 code library.

The C25 code library contains many additional pieces of Lisp code, including utility code, project code, and all the textbook code that appears in the main figures, downloaded from Graham's original source file.

XML Parsing in Lisp

There's an open-source XML parser for Allegro Common Lisp. It takes an XML file and produces a nested set of lists, called lxml format, very similar to the nested list format Allegro uses for HTML generation.

The Web

There are lots of Lisp resources on-line, from tutorials to references.

The web notes and code for this course are available on-line, and on-line only. You are responsible for reading the relevant web notes.


Comments? Send me email.