wjb@tantalum..eds.com (Bill Biesty) (04/10/91)
I'm trying to find a book that will show me or give me examples of things that you can do in LISP that make LISP the only language to do them in. I've got Winston & Horn and its an introduction. Something I have in mind is a book analagous to _The Art of Prolog_ but for LISP. I'm looking for examples of self modifying LISP code, semantic net variations, etc. One book I've found that seems to fit the bill is by Rajeesh Sagan(sp?) called _Programming Paradigms in LISP_. Is anyone familiar with this book? Could you post a recommendation or non-recommendation? If there are other books you could recommend or recommend avoiding please do. Also interesting papers would be of help. Thanks. Bill
hall@aplcen.apl.jhu.edu (Marty Hall) (04/10/91)
In article <1991Apr10.130052.4210@edsr.eds.com> wjb@tantalum..eds.com (Bill Biesty) writes: > >I'm trying to find a book that will show me or give me examples >of things that you can do in LISP that make LISP the only language >to do them in. I've got Winston & Horn and its an introduction. > [Mentions the lambda calculus] I agree; I would consider W&H an excellent tutorial with a few more advanced applications, not an advanced techniques text. For that, I would mention four. Note that these matters are highly subjective. 1) _Artificial Intelligence Programming_ (2/ed), Charniak, Riesbeck, McDermott, and Meehan, published by Lawrence Erlbaum (1987). I haven't referred to this one much recently, but it used to be considered (at least in many of the circles I was in) THE text on AI applications in Common LISP. 2) _Paradigms of AI Programming_, by Peter Norvig, to be published by Morgan Kaufmann. This is my personal favorite, and has many advanced AI applications of Common LISP as well specific LISP techniques. My understanding is that it should be out later this year (my info is from a pre-publication draft). 3) _Common LISP Programming for Artificial Intelligence_, by Hasemer and Domingue, published by Addison Wesley (1989). Nicely written with lots of LISP code, but, unfortunately, it has (IMHO) a major mistake in the design of the rule interpretter that it spends two chapters on. 4) _LISP, Lore, and Logic: An Algebraic View of LISP Programming, Foundations, and Applications_, by W. Richard Stark, published by Springer-Verlag (1990). This is not an AI applications book, and may be most in the vein of what you were looking for. I found it quite entertaining, with entries on the lambda calculus, self-modifying code, LISP forms that evaluate to themselves, and the like. The enjoyable style reminded me of Abelson & Sussman's terrific _Structure and Interpretation of Computer Programs_, perhaps because of the quotes and folklore scattered throughout. I know of a few others, but either I don't have them or I have them and I don't like them (and, on the net, I better not say which :-). - Marty Hall ------------------------------------------------------ hall@aplcen.apl.jhu.edu, hall%aplcen@jhunix.bitnet, ..uunet!aplcen!hall Artificial Intelligence Lab, AAI Corp, PO Box 126, Hunt Valley, MD 21030 (setf (need-p 'disclaimer) NIL)
rpg@rex.cs.tulane.edu (Robert Goldman) (04/10/91)
You could look at _Artificial Intelligence Programming_, Charniak et. al., published by Lawrence Erlbaum Associates. But make sure if you do that you get the SECOND edition. The second edition has been translated to common lisp from some broken old lisp dialect, and has been updated considerably. Also, Peter Norvig is writing a book on advanced topics in Lisp programming. Don't know if it's out yet. Robert
lou@cs.rutgers.edu (lou) (04/11/91)
In article <1991Apr10.130052.4210@edsr.eds.com> wjb@tantalum..eds.com (Bill Biesty) writes:
I'm trying to find a book that will show me or give me examples
of things that you can do in LISP that make LISP the only language
to do them in. I've got Winston & Horn and its an introduction.
You might also look at AI Programming by Charniak et all (Erlbaum Publ.)
It shows a number of things that are "natural" in lisp. (However,
although closures are even more natural in SCHEME than in most other
dialects of lisp, this book sticks with Common Lisp, even for the
discussion of closures.)
You might also want to look up an article by Erik Sandewall "Programming
in the Interactive Environment: the LISP Experience" in Computing
Surveys vol. 10 no. 1, March 78, p. 35. It is rather old but still
gives a nice feel for the general attitude the lisp world brings to
programming.
--
Lou Steinberg
uucp: {pretty much any major site}!rutgers!aramis.rutgers.edu!lou
internet: lou@cs.rutgers.edu