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

[no subject]



From:     PRATT@MIT-AI (Sent by PRATT1@MIT-AI)
Date: Sun, 3 Sep 79 04:31:24 GMT
Original-Date: 03/09/79 00:31:24 EDT
Subject:
    (funcall '(lambda (x) x) 0)
    0
    That much I understand.
    (funcall ''(lambda (x) x) 0)
    0
    Funny, I expected an error message.  Oh well, I guess LISP keeps eval'ing
    the first arg to funcall till it is a function.  Kludgy, but consistent with
    earlier practice.
    (funcall '''(lambda (x) x) 0)
    ;(QUOTE (QUOTE (LAMBDA (X) X))) UNDEFINED FUNCTION OBJECT
    Oh my god, what's going on here?
--------
There is this completely and utterly wierd code in eval in the interpreter that allows
a form in the functional position to be evaluated ONE extra time (though it could be set
differently).  This is a compoletely wierd crock and I don't know why whoever decided to
implement did so, but....arg, is this poor!!