Lisp Resources | |
CSE 415: Introduction to Artificial Intelligence The University of Washington, Seattle, Spring 2002 | |
Lisp software
We will be using primarily
CLISP, a free, open-source
implementation of Common Lisp that runs under Unix, Linux, and Windows.
Here is the
documentation that comes with CLISP.
The first version of "Getting started with Lisp" is available -- more will be filled in soon. It contains a very brief introduction to Lisp and examples of using CLISP. Also see "Getting an account and logging in", which has instructions for getting an account on the Math Sciences machine where we'll be doing our work. Our textbook includes an introduction to Lisp (chapter 2, p.21), a glossary of the most commonly used Lisp operators (p.767), and examples throughout. The classic introduction to Lisp (and also a very good introduction to programming in general) is David Touretzky's Common Lisp: A Gentle Introduction to Symbolic Computation. That covers basic operators, but many more are available. So before you begin implementing some function, check whether there is already an operator that is closer to what you want. For that, you can look at these Lisp references (which are the most authoritative online references): Guy Steele's Common Lisp: The Language has a fair amount of explanation, but it is a reference rather than a tutorial. The Common Lisp HyperSpec has very terse but accurate descriptions of each operator, with non-trivial examples. However, there is very little overview, and it's rather hard to find which operators you might want to try. So you might use the other references to find operators, then check here if you're having trouble using them -- the examples try to show odd cases. Both of the above references use their own formal descriptions of operators and other language constructs, and neither are obvious at first glance. See section 1.4.4.20 of the Common Lisp HyperSpec for its notation, and section 1.2.5 in the HyperSpec. If you want to buy a general book on Lisp, a good choice might be Paul Graham's ANSI Common Lisp, which intends to teach the language rather than merely describe it. A few more Lisp sites are:
| |