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

Re: EVAL-WHEN (really symbol-function)



    Date: Sat, 5 Apr 86 07:44:35 pst
    From: hpfclp!diamant@hplabs.ARPA

    "symbol-function returns the current global function definition named by
    symbol.  An error is signalled if the symbol has no function definition;
    see fboundp.  Note that the definition may be an object representing a
    special form or macro.  In the latter case, it is an error to attempt to
    invoke the object as a function."

    Note that the only valid object which may be returned is something of type
    function (if the symbol has a global function definition).  This is obvious
    from the last sentence in the paragraph above.  Since you claim
    any object can be stored and that the retrieved value must be EQL, then any
    object can be retrieved.  This is totally contradictory to the quoted
    paragraph above.  It very explicitly states in which cases it is an error to
    invoke the object as a function, and the case you are establishing is not
    covered.

Yes, it says that if the object is not a function, it is an error to
attempt to invoke it.  However, it doesn't say anywhere that if the
object is not a function, it is an error to call symbol-function.  So
there is no contradiction.

What you say is "obvious" is not obvious at all, because of the fuzzy
use of the word "valid".