kadie@m.cs.uiuc.edu (11/05/90)
/* Written 4:35 pm Oct 23, 1990 by eb@lucid.com in m.cs.uiuc.edu:comp.lang.lisp */ [...] If by CLISP you mean Common Lisp, I can recommend Lisp Style & Design, by Molly M. Miller and Eric Benson (that's me), published by Digital Press, 1990. Here's the blurb from the back of the book: [... ] eb@lucid.com Eric Benson 415/329-8400 x5523 Lucid, Inc. Telex 3791739 LUCID 707 Laurel Street Fax 415/329-8480 Menlo Park, CA 94025 /* End of text from m.cs.uiuc.edu:comp.lang.lisp */ I have a copy Lisp Style & Design. On the whole it is very good. I would make one suggestion, namely, that we should use Common Lisp's documentation string. For example, where the book has: (defun remove-planner-specific-slot-info (slot-specifiers) ;; Take out the slot specifiers that DEFCLASS doesn't use, ;; which is :DISPLAY right now. (loop ... )) I would suggest: (defun remove-planner-specific-slot-info (slot-specifiers) "Take out the slot specifiers that DEFCLASS doesn't use, which is :DISPLAY right now." (loop ... )) Or even better (defun remove-planner-specific-slot-info (slot-specifiers) "Take out the slot specifiers that DEFCLASS doesn't use, which is :DISPLAY right now. Examples: (remove-planner-specific-slot-info ...) ;=> ... ... " (loop ... )) By putting comments in the documentation string, you can access them from your smart editor. The examples, serve two purposes. First, they help document the code. Second, they support unit testing. I suppose that Lucid, may have chosen not to use documentation strings to save memory. But if that is really a problem, it would have better to add a compiler option that removed the strings from memory. Again, over all, a useful book.