[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NAMED-LAMBDA and function cells
- To: Earl A. Killian <Killian at MIT-MULTICS>
- Subject: NAMED-LAMBDA and function cells
- From: MOON at SCRC-TENEX
- Date: Fri, 12 Nov 1982 19:23:00 -0000
- Cc: common-lisp at SU-AI
- In-reply-to: The message of 12 Nov 1982 0931-pst from Earl A. Killian <Killian at MIT-MULTICS>
Date: 12 November 1982 0931-pst
From: Earl A. Killian <Killian at MIT-MULTICS>
This is actually a good argument against allowing
(APPLY '(LAMBDA ...) ...)
Now there's a significant break with the past!
The rest of your message is a result of confusing two different meanings for
the term "function cell." One is an internal object of the implementation,
the part of a symbol through which calls to a function named by that symbol
indirect. The other is that conceptual piece of storage manipulated by the
FDEFINE and FDEFINITION primitives, or (at a lower level) SYMBOL-FUNCTION-VALUE
and its SETF. These happen to be the same in the Lisp machine, and I guess
in the PERQ, but there is no reason for them to be the same. The former is
implementation-dependent and its goal is to make function calling efficient.
The latter is Common-Lisp-defined and its goal is to allow portable programs
to manipulate function definitions. What the machine sees must be efficient;
what the user sees must be portable. (Read "ought" for "must" if you like).