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

Re-defining COMMON-LISP symbols

I believe that attempts to redefine built-in parts of the system are
inherently implementation dependent.  It would be a mistake to define
the behavior of doing so as part of the specification.  LISP implementors
may be find it useful to do this in their development.

There is a closely related operation, which consists of defining a new
symbol of the same name as an existing symbol in COMMON-LISP, and
shadowing that symbol in some package of the users choice.  This operation
is necessary, in my view, for defining new systems on top of COMMON-LISP.
A number of systems currently being built depend on this functionality.

Presently, there is no clear definition of how the compiler and interpreter
interact in the presence of operations such as the redefinition of, say,

Extending the COMMON-LISP specification to clearly define this area would
be helpful for system builders who use this set of features.