Some time ago I posted a request for books on LISP that went like
this:
> It looks like I'm going to be doing some work at a company that uses
> alot of LISP, and I'd like to improve my LISP programming skills.
> I don't need an introductory text. I would like to know if there
> are any books which will tell me about data structures and programming
> strategies in LISP. Something like the equivalent of the Donald Knuth
> books, but for LISP.
I'd like to thank the people who responded:
+ ···················@cat.cmu.edu Sun Jul 30 02:54:31 1989
+ ····@ucbarpa.Berkeley.EDU (Andrew Purshottam)
+ Walter Maner<·····@andy.bgsu.edu>
+ ····@amc.com (John Sambrook)
+ Brad Brown <·····@ai.toronto.edu>
+ ·······@dsacg1.UUCP (Mott Given)
+ ·················@gargoyle.uchicago.edu (timoshenko)
+ sam greenlaw <···@beach.cis.ufl.edu>
1. Most everybody mentioned the book by Charniak:
Artificial intelligence programming / Eugene Charniak, Riesbeck,
McDermott & Meehan.
# It's based on Common Lisp.
$ An excellent text for people who want to become hard-core
$ LISPers. The second half of the
$ book gets into programming techniques that are specific to AI (e.g.
$ d-nets, production systems, deductive retrieval) which may or may
$ not be of interest to you, but the first half is a great intro to
$ LISP and LISP techniques. All the code is written in Common Lisp.
! Make sure you get the second eddition, it uses common lisp,
! andd is MUCH clearer. It also has lots of nice code frags you can use.
! The book covers advancedd lisp: macros, the reader, data structures
! and the ddefstruc macro, control structure; deductive databases and logic
! programming (a little on lp); nonstandard control structures; truth
! maintainance. I have no idea if the book is "good" but as far as I know it has
! no sserious competition outside of course notes and conference tutorials.
2. Next in popularity was:
"Structure and Interpretation of Computer Programs"
Abelson and Sussman (McGraw/Hill & MIT Press, 1986).
% It starts off introductory, but rapidly
% gets into really neat things that are unique to Lisp-like languages, like
% showing how to use closures and engines and showing how to build interpreters
% and object-oriented systems. The only caveat is that the language the book
% uses is Scheme, not CommonLisp. Scheme is similar (and much more elegant)
% but you have to do some translation. The concepts are valid, though.
* It talks about
* Scheme Lisp, but may be applicable to your environment. It is the
* undergraduate introduction to computer science that I didn't have
* as an undergraduate Lo! the many years ago. Highly recommended.
One person mentioned a book by Keene:
3. One person mentioned:
Keene, Sonya E.
Object-oriented programming in Common LISP : a programmer's guide to CLOS
Sonya E. Keene ; contributions by Dan Gerson ; foreword by David A. Moon.
# I am just starting to read [this book], and I refrain from
# any opinion on yet. It's about the common lisp object system, of
# which PCL is a first approx of.
4. Three people mentioned:
"Lisp, 3rd ed." by Winston & Horn (Addison-Wesley).
# I suppose [it] has some useful routines, but most of them have been
# miniaturized to improve their teachability.
$ It covers the concepts of the language but also goes into great detail
$ about how to program certain things, like "Rule-Based Expert Systems and
$ Forward Chaining", "Interpreting Transition Trees", "Compiling Transition
$ Trees", and "Finding Patterns in Images", to quote a few chapter titles.
* The one and only "first" book
5. Five sources that were briefly mentioned were:
@ "Common Lisp, the Language"
@ Guy Steele, Digital Press, ISBN 0-932376-41-X
@
@ "A Programmers Guide to Common Lisp"
@ Deborah G. Tatar, Digital Press, 0-932376-87-8
> I assume you know of or have a copy of the definitive reference to the
> language, "Common Lisp, The Language", by Franz Inc. (Addison Wesley).
$ Also, at $ 50.00, the Golden Common LISP student tutorial is a treat.
$ I'm surprised that more schools haven't taken this package as standard
$ fare. Perhaps the level of clkassroom education isn't up to par....
+ AI Mag has had columns of interest.
6. Two people mentioned:
"The Elements of Artificial Intelligence" by Steven L.
Tanimoto, published by Computer Science Press.
> It is an introductory text,
> but it also covers data structures and programming strategies. It has the
> advantage that a LISP interpreter is available for $38 from Softwave
> (P.O. Box 31607, Seattle, WA 98103) that runs all the exercises in the text.
> The LISP interpreter runs on an IBM-PC or compatible.
# keep in mind that _EAI_ isn't 100% common lisp compatible.
7. Some other interesting comments that people submitted:
+ I recommend using an external database, probably a SQL product.
+ LISP is practically impossible to revise after a d/b architecture
+ takes hold.
+
+ Also, use an existing expert system, rather than coding from scratch.
+ GURU is useful and macro-able. Otherwise, LISP invites errors.
+ Code from scratch, send resumes that afternoon....
+
+ Expect a brick wall to form when you get to 10,000 lines of code.
+ LISP is rigid, as expected from a prototyping tool.
+
+ I use LISP to generate a cell topology, then simulate CNS response
+ with SPICE. If you have true analog problems, get an analog machine.
+ But SPICE is a useful approximation.
! I'd be especially interested in docuemnts from the lisp machine
! world, I have feeling guys in Unix lisp world (like me) are 10-15
! years out of date here, particularly with regard to programm env
! and object lib use.
!
! Cheers,
! Andy
! (cond ((lovep you (quote LISP)) (honk)) (t (return nil)))
# I would suggest you begin to
# work in CLOS just as soon as you can get up to speed.
Once again, thanks for all of the replies.
Greg Sandell