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

(FUNCALL <fsubr-frob> <any-list>)

We've been propogating the term "special forms" for 
the use of symbols in LISP that are sort of "built-in" - 
one problem with the term "fsubr" is that it leads you to
suspect that it is usable anywhere that a normal "subr"
function is.  FUNCALL is only for functions - it appears to
be a deficiency of the interpreter and compiler that
FUNCALL doesn't check this.  We did extend the meaning of
APPLY for "fsubrs" such that
   (APPLY <fsubr-frob> <any-list>)
is to mean the same as
   (EVAL (CONS  <fsubr-frob> <any-list>))
and it is the shared code (between funcall and apply) that
is causing FUNCALL to miss out on checking.