[comp.lang.lisp] Recommended LISP books: Summary of postings

sandell@batcomputer.tn.cornell.edu (Gregory Sandell) (08/22/89)

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:

+ James.Price.Salsman@cat.cmu.edu Sun Jul 30 02:54:31 1989
+ andy@ucbarpa.Berkeley.EDU (Andrew Purshottam)
+ Walter Maner<maner@andy.bgsu.edu>
+ john@amc.com (John Sambrook)
+ Brad Brown <bradb@ai.toronto.edu>
+ ntm1169@dsacg1.UUCP (Mott Given)
+ converse%tartarus@gargoyle.uchicago.edu (timoshenko)
+ sam greenlaw <seg@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