[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Basic Design Questions: function cells
- To: Fahlman@C.CS.CMU.EDU
- Subject: Basic Design Questions: function cells
- From: "George J. Carrette" <GJC@MC.LCS.MIT.EDU>
- Date: Tue, 18 Feb 86 22:40:41 EST
- Cc: common-lisp@SU-AI.ARPA
- In-reply-to: Msg of Mon 17 Feb 1986 22:14 EST from Scott E. Fahlman <Fahlman at C.CS.CMU.EDU>
You forgot that people have made various efficiency-based
arguments for function cells. These arguments may be found in
the archives. (I cannot understand them so I wont try to explain it).
Having a function cell also gives the language designer another way to
add more inconsistency to the language, in the way of breaking down
possible analogies, for example LET=>SETQ as FLET=>{nothing-in-CL}.
Also, if in the form (<a> <b> <c>) all of <a> <b> and <c> were
evaluated in the same namespace, and if you said "left-to-right"
evaluation order is preserved then users would imply that to mean
evaluate <a> then <b> then <c>. However, if <a> is evaluated
differently then it might not bother anyone than in some CL
implementations the order of evaluation is <b> <c> <a>, and in some it
is <a> <b> <c>.
-gjc
{You have to know the rules before you can break them.}