[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: LISP-SYMBOL-REDEFINITION (Version 3)
- To: cl-cleanup@sail.stanford.edu
- Subject: Issue: LISP-SYMBOL-REDEFINITION (Version 3)
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Tue, 11 Oct 88 18:59 EDT
- In-reply-to: <881007-190359-1626@Xerox>
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).