[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: minor point about extract-declarations

    Date: Thu, 25 May 89 13:57:34 EDT
    From: duff@unclejack.crd.ge.com (David A Duff)

    the macro EXTRACT-DECLARATIONS, defined in macros.lisp performs a function
    that is very useful to me.  looking at it more closely, however, revealed
    either a discrepancy in the code or in my understanding of Steele's
    description of common lisp.

    Date: Sat, 27 May 89 15:50:44 PDT
    From: Jon L White <jonl@lucid.com>

    Guy Steele's "Clarifications" of 6-Dec-85 proposed adding a function
    PARSE-BODY.  After passage of the proposal that cancelled the use of 
    macroexpansions for declarations, interest in this function died out, 
    with the excuse given that it could now be written portably (since it 
    no longer had to deal with macroexpanding any body forms).

    However, this excuse appears to be short-sighted, since the main
    purpose of a standard is not kernelization, but to ensure a standard
    way of doing things.

    Date: Tue, 30 May 89 08:44 EDT
    From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>

     - I'm fairly agnostic about whether PARSE-BODY should be there.  It's less
       needed now that there is no macro expansion to contend with, but the idiom
       of extracting DECLARE expressions from the top of a body is still needed
       even so, and this does help to do that concisely, so my personal inclination
       toward the feature would probably be mildly positive.

     - I don't think there is an ambiguity about doc strings, but I do think the
       restriction is gratuitous and would not oppose its removal.  This would
       simplify the syntax description and admit a programming style that some
       would find useful. Clarifications of how DOCUMENTATION and PARSE-BODY
       treated the situation would be in order.

I would be content to see PARSE-BODY defined either way.  I prefer
Kent's proposal because I always hate documentation strings like:

    (defun foo ()
       "This is a very long doc string
    that didn't fit all one one line"

Of course I would far more gladly cast my vote for the elimination of
documentation strings, but I doubt that would pass.  In the absence of
such an event, I would like to see PARSE-BODY added to the language.

For David Duff, as soon as CL-CLEANUP comes up with a proposal or at
least a decision about multiple documentation strings, I will implement
and support it in PCL.