[Top][All Lists]

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

Re: [Axiom-developer] hascategory bug

From: Camm Maguire
Subject: Re: [Axiom-developer] hascategory bug
Date: 25 Jul 2003 22:18:47 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  Some real progress to report on the infinite recusion
bug.  Almost but not quite there.

The bottom line is that (|Ring|) is totally correct until |Algebra| is
executed, at which point the fourth element returned by (|Ring|) is
overwritten by the result returned in the fourth element of the vector
returned by |Algebra|.  The point of this overwrite is at the
following form of |JoinInner| (int/interp/category.clisp):

 (SETELT |$NewCatVec| 4 (CONS |c| (CONS |FundamentalAncestors| (CONS
 (CADDR (ELT |$NewCatVec| 4)) NIL))))

called from |Algebra;| (int/algebra/ALGEBRA.NRLIB/code.lsp) through 

(|Join| (|Ring|) (|Module| (QUOTE |t#1|)) (|mkCategory| (QUOTE
|domain|) (QUOTE (((|coerce| ($ |t#1|)) T))) NIL (QUOTE NIL) NIL))

I haven't parsed |JoinInner| yet, but my guess is that there is a
copy-seq in there which is not getting executed in the assignment of
|$NewCatVec| before the setelt.

Just have to figure out how to set a break in lisp to confirm.
Hopefully should not be long now.

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]