[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ensure-generic-function
- To: Common-Lisp-Object-System@Sail.stanford.edu
- Subject: ensure-generic-function
- From: Gregor.pa@Xerox.COM
- Date: 6 Feb 87 12:14 PST
- Cc: Gregor.pa@Xerox.COM
Try this for ensure-generic-function:
ensure-generic-function <symbol>
&key (<generic-function-class>
(class-named 'standard-generic-function))
(make-exisiting-function-default-p nil)
If symbol is fboundp to a generic-function of the same class as
<generic-function-class> then this function does nothing.
If symbol is fboundp to a generic-function of some other class, the
generic-function class changing protocol is followed, see chapter 3.
If symbol not foundp a generic function of generic-function-class is
created and put in symbol's function cell.
If symbol is boundp to a function, and make-exisiting-function-default-p
is not nil, a generic-function is created, put in the function cell, a
default method is added to the generic-function and the symbol's
previous function cell value is used as the function for the default
method.
If symbol is fboundp to a function and make-exisiting-function-default-p
is nil an error is signalled.
If symbol names a macro or a special form, an error is signalled.
Feel free to change the names of the arguments. Note that this is a
function not a generic-function.