[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Special Form Question
- To: NGALL@bbng.arpa, shebs%utah-orion@utah-cs.arpa
- Subject: Re: Special Form Question
- From: shebs%utah-orion@utah-cs.arpa (Stanley Shebs)
- Date: Fri, 13 Dec 85 08:44:24 MST
- Cc: common-lisp@su-ai.arpa
From NGALL@BBNG.ARPA Fri Dec 13 08:08:41 1985
(setf (symbol-function 'foo) (symbol-function 'quote))
(foo (a b c))
I vote for "is an error" for the simple reason that portable code analyzers
(incl. compilers) count on the fact that they must have special-purpose
code only for the symbols in Table 5-1 (cf. the code-analysis "algorithm" on
pg. 57). If we break this restriction, portable code ananlyzers would become
much more complicated (if not impossible without further CLtL revisions).
Besides, why would anyone need to do such a thing? Remember macros?...
There are a lot of things that CL talks about that nobody would really do!
This particular issue has a lot to do with whether an implementation needs
to support fako fexprs secretly, or whether it can treat each special form
case-by-case in both the compiler and interpreter. Without naming names,
I can point to CL implementations which *do* have fexprs, and which *do*
allow the above, but if I were to sit down and do an implementation today,
I wouldn't have anything even remotely resembling fexpr functions at all.
"Is an error" seems like the right answer.
stan shebs