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