[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Redefinition of system functions
- To: Dieter Kolb <unido!ztivax!kolb@SEISMO.CSS.GOV>
- Subject: Redefinition of system functions
- From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
- Date: Fri, 14 Aug 1987 23:54 EDT
- Cc: CL-Cleanup@SAIL.STANFORD.EDU
- In-reply-to: Msg of Fri 14 Aug 87 15:06:16 -0100 from Dieter Kolb <unido!ztivax!kolb at seismo.CSS.GOV>
- Sender: FAHLMAN@C.CS.CMU.EDU
If there are functions whose redefinition would destroy a particular
Lisp system, I wouldn't mind getting a warning and perhaps even a
correctable error from DEFUN if I am about to lose. The set of
protected functions might include all of the built-in Common Lisp
functions, or it might be a small subset, depending on the details of
the implementation.
There must be a way to turn this protection off, however -- some people
know what they are doing and don't want Lisp to save them. Advising is
one such case, patching over bugs in the built-in functions is another,
and turning a built-in function into a CLOS generic function so that new
behaviors can be added for new types is yet another (once we decide how
much of this will be allowed).
In any case, I think that such protection probably should be considered
an programming-environment issue that is left up to each implementor.
Is there any real need for a standard solution here? I suppose we do
need to make clear that randomly modifying the built-in functions is not
something that is allowed in strictly legal Common Lisp programs.
-- Scott