[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
symbol-function of non-functions
- To: common-lisp@SAIL.STANFORD.EDU
- Subject: symbol-function of non-functions
- From: "Gail Zacharias" <GZ%OZ.AI.MIT.EDU@XX.LCS.MIT.EDU>
- Date: Thu 22 Jan 87 08:52:25-EST
The manual seems to imply that fboundp is required to return non-nil
for macros and special forms, while symbol-function is merely allowed
to do so (".. function or MAY be an object representing a special form
or macro.."). Am I reading that right?
In any case, it seem to me that these definitions make it impossible
to tell for sure whether a symbol is a valid argument to APPLY/FUNCALL.
I.e. in implementations which do not keep macros in the function cell,
so that macro-function being true does not imply non-applicability of the
symbol, there is no CL way to find out if there is an applicable definition
regardless of whether there is or isn't a macro definition.
Why not require fboundp be true if and only if there is an applicable
definition. You could still say (or (macro-function x) (special-form-p x)
(fboundp x)) if you really want to include all possibilities, while there is no
way to implement the more restrictive fboundp in terms of what's currently