[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).