[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Special Form Question

 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