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

severe consternation

From:     GSB@MIT-ML
Date: Mon, 20 Jan 81 22:27:37 GMT
Original-Date: 01/20/81 18:27:37 EDT
Subject: Re: severe consternation
    To: (BUG LISP) at MIT-ML
    CC: MOON at MIT-ML
    Here i was, demonstrating the wonders of SETF preserving implicit
    order-of-evaluation.  I showed the macro-expansion of 
    (SETF (ARRAYCALL T (FOO) (BAR)) (BAZ)), and imagine my surprise when
    it came out to be:
    ((LAMBDA (G0002) ((LAMBDA (G0004 G0005 G0006)
			   (STORE (ARRAYCALL T G0004 G0005) G0006))
			(FOO) (BAR) G0002)
    So, i said, "Well, i've got a SETF which isn't being used, but at least
    I can trust it.  Let's try it."  There was no fasl, so i loaded the source.
    What did it say?  It said ";TEM UNBOUND VARIABLE".  Closer examination
    showed that
    (DEFUN FOO (A B &AUX (C (F A)) (D (G C)))
	(LIST A B C D))
    produced the following definition:
    (DEFUN FOO (A B)
	(LET ((D (G C)) (C (F A))) (LIST A B C D)))
    Gremlins, perhaps?
    The big question is this:  why is my compiled code working?
    Or is it?

BTW, I believe we forgot to report these as fixed.