From: ·····@m.cs.uiuc.edu
Subject: Re: Orphaned Response
Date: 
Message-ID: <5100011@m.cs.uiuc.edu>
/* Written  4:35 pm  Oct 23, 1990 by ··@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:
[... ]

··@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.