[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Redefinition of CL Functions
One point that should be introduced into this discussion is the
distinction between "legal" and "reasonable". It is not feasible for
Common Lisp to mandate reasonableness; users will have to decide for
themselves whether a given implementation is reasonable. With any
standard it is possible to create a system that complies with the
letter of the standard, but is still totally unusable.
In the case of redefinitions of standard functions and macros I would
say that reasonable implementations should both:
-- Warn when the user redefines a standard function or macro and
-- Do its best to make the user redefinition work.
I don't think either property can be brought within the formal
language definition, so an implementation that flames out and dies
when you redefine a standard function would be legal.