[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: GSB at MIT-ML
- Subject: severe consternation
- From: Robert W. Kerns <RWK at MIT-MC>
- Date: Wed, 4 Feb 81 09:28:00 GMT
- Cc: BUG-LISP at MIT-ML, MOON at MIT-ML
- Original-date: 4 February 1981 04:28-EST
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
(DEFUN FOO (A B &AUX (C (F A)) (D (G C)))
(LIST A B C D))
produced the following definition:
(DEFUN FOO (A B)
(COMMENT ARGLIST = (A B))
(LET ((D (G C)) (C (F A))) (LIST A B C D)))
The big question is this: why is my compiled code working?
Or is it?
BTW, I believe we forgot to report these as fixed.