gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: nqthm bug


From: Camm Maguire
Subject: [Gcl-devel] Re: nqthm bug
Date: 15 Jul 2006 16:34:37 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings and thanks!  Think this is fixed now.

Take care,

Robert Boyer <address@hidden> writes:

> The funny *1*QUOTE compiler bug in Nqthm can be reproduced by you on elgin
> with these commands:
> 
>    cd /u/boyer/my-partition/forcamm/nqthm-1992
>    /u/boyer/my-partition/forcamm/gcl-2.7.0/unixport/saved_ansi_gcl
>    (load "nqthm.lisp")
>    (compile-nqthm)
>    (load-nqthm)
>    (boot-strap nqthm)
>    (ADD-SHELL PUSH NIL STACKP ((TOP (NONE-OF)
>                                     ZERO)
>                                (POP (NONE-OF)
>                                     ZERO)))
> 
> A log of my doing these commands may be seen in this file:
> 
>   /u/boyer/my-partition/forcamm/nqthm-1992/log
> 
> Bob
> 
> P. S.  Possibly related: the following claim by the compiler during the
> compilation is quite suspect.
> 
> ; (DEFUN NORMALIZE-IFS ...) is being compiled.
> ;; Warning: The variable T13 is not used.
> ;; Warning: The variable T12 is not used.
> ;; Warning: The variable T11 is not used.
> 
> The code below is from the file code-n-r.lisp.  It sure looks like T13,
> T12, and T11 are being used.
> 
> (DEFUN NORMALIZE-IFS (TERM TRUE-TERMS FALSE-TERMS IFF-FLG)
>   (LET (T1 T2 T3 T11 T12 T13 BAD-ARG)
>     (COND ((VARIABLEP TERM)
>            (COND ((MEMBER-EQ TERM FALSE-TERMS) FALSE)
>                  ((AND IFF-FLG (MEMBER-EQ TERM TRUE-TERMS)) TRUE)
>                  (T TERM)))
>           ((FQUOTEP TERM)
>            (COND ((AND IFF-FLG (NOT (EQ (CADR TERM) *1*F))) TRUE)
>                  (T TERM)))
>           ((MATCH TERM (IF T1 T2 T3))
>            (SETQ T1 (NORMALIZE-IFS T1 TRUE-TERMS FALSE-TERMS T))
>            (COND ((EQUAL T1 TRUE)
>                   (NORMALIZE-IFS T2 TRUE-TERMS FALSE-TERMS IFF-FLG))
>                  ((OR (EQUAL T1 FALSE) (MEMBER-EQUAL T1 FALSE-TERMS))
>                   (NORMALIZE-IFS T3 TRUE-TERMS FALSE-TERMS IFF-FLG))
>                  ((MATCH T1 (IF T11 T12 T13))
>                   (NORMALIZE-IFS
>                    (FCONS-TERM* (QUOTE IF)
>                                 T11
>                                 (FCONS-TERM* (QUOTE IF) T12 T2 T3)
>                                 (FCONS-TERM* (QUOTE IF) T13 T2 T3))
>                    TRUE-TERMS FALSE-TERMS IFF-FLG))
>                  (T (SETQ T2 (NORMALIZE-IFS T2
>                                             (CONS T1 TRUE-TERMS)
>                                             FALSE-TERMS IFF-FLG))
>                     (SETQ T3 (NORMALIZE-IFS T3 TRUE-TERMS
>                                             (CONS T1 FALSE-TERMS) IFF-FLG))
>                     (COND ((EQUAL T2 T3) T2)
>                           ((AND (OUR-BOOLEAN T1)
>                                 (EQUAL T2 TRUE)
>                                 (AND (FALSE-NONFALSEP T3)
>                                      DEFINITELY-FALSE))
>                            T1)
>                           (T (FCONS-TERM* (QUOTE IF) T1 T2 T3))))))
>           (T (SETQ TERM
>                    (CONS-TERM (CAR TERM)
>                               (ITERATE FOR ARG IN (FARGS TERM)
>                                        COLLECT (NORMALIZE-IFS ARG
>                                                               TRUE-TERMS
>                                                               FALSE-TERMS
>                                                               NIL))))
>              (COND ((MATCH TERM (EQUAL T1 T2))
>                     (COND ((EQUAL T1 T2) (SETQ TERM TRUE))
>                           ((NOT-IDENT T1 T2) (SETQ TERM FALSE)))))
>              (COND ((FQUOTEP TERM) TERM)
>                    ((SETQ BAD-ARG (ITERATE FOR ARG IN (FARGS TERM)
>                                            WHEN (MATCH ARG
>                                                        (IF T1 T2 T3))
>                                            DO (RETURN ARG)))
>                     (FCONS-TERM* (QUOTE IF)
>                                  T1
>                                  (NORMALIZE-IFS
>                                   (SUBST-EXPR T2 BAD-ARG TERM)
>                                   (CONS T1 TRUE-TERMS)
>                                   FALSE-TERMS
>                                   IFF-FLG)
>                                  (NORMALIZE-IFS
>                                   (SUBST-EXPR T3 BAD-ARG TERM)
>                                   TRUE-TERMS
>                                   (CONS T1 FALSE-TERMS)
>                                   IFF-FLG)))
>                    ((MEMBER-EQUAL TERM FALSE-TERMS) FALSE)
>                    ((MEMBER-EQUAL TERM TRUE-TERMS)
>                     (COND (IFF-FLG TRUE)
>                           ((OUR-BOOLEAN TERM) TRUE)
>                           (T TERM)))
>                    (T TERM))))))
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]