You will be introduced to Common Lisp, the more powerful of the two LISP
version in common usage (the other being Scheme). Where Scheme is deliberately
simple and barebones, Common Lisp has a huge library of codes and constructs
at its disposal, including interface managers and object-oriented extensions.
In spite of this, the basic syntax and semantics of clisp is straightforward,
as for all the functional languages build on the original LISP model of McCarthy.
While it takes a semester for beginning students to start to get an understanding
of Java semantics, Lisp can be learned in an afternoon. Its simplicity hides its
very powerful theoretical underpinnings in recursive function theory; LISP grew
from the mathematical work of Alonzo Church and others in the same way that the
von Neumann architecture and imperative programming grew from that of Turing
and his machines. With FORTRAN and ALGOL, LISP was one of the "founding" languages
that set the mold for modern models of programming; unlike the former, Lisp remains
of more than just legacy interest.
Webpage with tutorial, references, and Assignment for Lab 7 (to be revised)
Online material
Using emacs as a Lisp IDE
A nice essay and intro to modern Lisp programming by Pascal Constanza
Free online edition of "Practical Common Lisp" by Peter Seibel
Paul Graham's textbook, "On Lisp", now a free download, complete with source code
Homepage for Norvig's Artificial Intelligence Programming: Case Studies in Common Lisp.
This includes source code for MYCIN, Eliza, and Scheme interpreters in CL.
Example code and howto start Lisp mode in emacs
Hanoi.lisp
lispmode.txt
index.htm
To put tabbed buffers into your standard emacs environment,
put the following in your home directory.
tabbar.el
And add the following to your .emacs file in your home directory.
emacstabbarmods