[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: (BUG LISPM) at MIT-AI
- Subject:
- From: BEE@MIT-AI
- Date: Mon ,22 May 79 19:50:04 EDT
I removed the FUNCALL-FUNCTION and indeed I didn't know what it was for. The case which
is screwed up is:
(APPLY 'FOO (LIST FOO BAR)) when FOO is (DEFUN FOO ("E &REST L)) <This is a maclisp
FEXPR>
The APPLY is optimized into a non consing (FUNCALL 'FOO FOO BAR) which is fine, as FUNCALL
always evals its arguments. But then that gets turned into (FOO FOO BAR) which then
does not evaluate its arguments, and is WRONG. I am not claiming that APPLY'ing FEXPRS
is wonderfulness, but the evaluator and compiler do different things, and I believe that
the evaluator is sort of right. <People who write code like this should be shot, but what
can you do?>