[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GRINDEF bites the bag on LET
- To: BUG-LISP at MIT-AI
- Subject: GRINDEF bites the bag on LET
- From: "Guy L. Steele, Jr." <GLS at MIT-AI>
- Date: Wed, 27 Feb 80 00:32:00 GMT
- Cc: GLS at MIT-AI
- Original-date: 26 February 1980 19:32-EST
- Sender: GLS0 at MIT-AI
GIRINDEF seem to lose completely on LET-forms. For example:
(DEFUN OPTIMIZE-0 (FUNCLIST TSTLIST)
(CONS (LIST 'DEFUN
(CAR (CAR FUNCLIST))
(CADR (CAR FUNCLIST))
(LET ((SEXPR-0 (LET ((BODY (CDDR (CAR FUNCLIST)))) (COND ((NULL (CDR BODY)) (CAR BODY)) (T (CONS '
(COND ((ATOM SEXPR-0) SEXPR-0) (T (EXPAND-0 SEXPR-0 TSTLIST NIL NIL)))))
(COND ((NULL (CDR FUNCLIST)) NIL) (T (OPTIMIZE-0 (CDR FUNCLIST) TSTLIST)))))
Looking at the code, I notice that the bindings of LET are ground as a block.
The bug may be related to this. In any case, I object loudly to this anyway.
If all the variables won't fit on one line, I want them all on separate
lines where I can see them by a simple vertical scan. (Same goes for
arguments to functions, right?)