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

Issue: LISP-SYMBOL-REDEFINITION (Version 3)



    Date: 7 Oct 88 19:04 PDT
    From: masinter.pa@Xerox.COM

    David was right; version 2 was full of typos. The original problem
    description -- about an incident where a beginning user redefined
    MAKE-LIST -- is not in fact really addressed by this issue, since we
    haven't required implementations to signal an error (and don't want
    to.)

LISP-SYMBOL-REDEFINITION:DISALLOW looks okay.  I'm not concerned about
the original problem description -- a good programming environment for
beginning users would keep them from redefining MAKE-LIST
unintentionally, and a bad programming environment for beginning users
would not, but they both implement Common Lisp the language as amended
by this proposal.  So actually I think the original problem description
really is addressed by this issue, it's just not eliminated by it.

    Clarify that, as implied by CLtL p. 69, it is an error to rebind
    any symbol in CL defined as a constant.

Does "rebind" mean as with LET, or as with SETQ, or as with MAKUNBOUND?
I think you mean all three, it would be better to be more explicit.

You also need to cover redefining type-specifiers with DEFTYPE, DEFSTRUCT,
or DEFCLASS, and redefining SETF macros or functions with DEFSETF or
DEFINE-SETF-METHOD (or with DEFUN or equivalent when the cleanup
proposal for that goes through, sorry its name escapes me at the moment,
maybe setf-function-vs-macro).