[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CLtL error re function special form
- To: common-lisp@sail
- Subject: CLtL error re function special form
- From: Steven Haflich <smh@mit-ems.ARPA>
- Date: Thu, 26 Sep 85 08:01:25 edt
Surely this must have been noticed before, but on page 87:
function fn [Special Form]
The value of function is always the functional interpretation
of fn; fn is interpreted as if it had appeared in the
functional-position of a function invocation. In particular,
if fn is a symbol, the functional definition associated with
that symbol is returned; see symbol-function. If fn is a
lambda-expression ...
Unlike the function special form, symbol-function does not see lexical
function bindings. The reference to symbol-function here was probably
intended just to convey the distinction between a symbol's `functional'
interpretation and it's `regular' i.e. symbol-value interpretation.
But it's wrong, and potentially misleading.
Fixing the text is awkward because lexical function binding special
forms are not presented until p.113. But CLtL is more of a reference
than a teaching manual. Perhaps the reference to symbol function
should just be deleted.
A similar but less bothersome slip occurs on p.32 about functional data
types:
A symbol may serve as a function; an attempt to invoke a
symbol as a function causes the contents of the symbol's
function cell to be used. See symbol-function and defun.