[Top][All Lists]

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

RE: [Axiom-developer] Axiom debugging

From: Page, Bill
Subject: RE: [Axiom-developer] Axiom debugging
Date: Tue, 22 Jul 2003 16:40:48 -0400


OK, thanks. Now I understand... more or less. (It will
be more as time goes on <grin>). Is it "normal" for a
lisp application to segfault in this way rather than
having the error caught in some gentler way?? No matter.

What I am actually looking for is a simpler example of
an Axiom set function that actually fails. So far nothing
seems wrong. But according to my current only limited
understanding, it seems that each type which can be used
to construct a set needs to have it's own "set method".
Via if $ has SETCAT? Right? So sets constructed of things
of rather different and complex types might be required
in order to display this wrong unset-like behaviour
(duplicate elements). Any suggestions?


Bill Page.

> -----Original Message-----
> From: root [mailto:address@hidden
> Sent: Tuesday, July 22, 2003 4:15 PM
> To: address@hidden
> Cc: address@hidden
> Subject: Re: [Axiom-developer] Axiom debugging
> Bill,
> The segfault is likely because the result is circular.
> (For the non-lisper among you it is possible and very common to
> create lists that have pointers back into the same list. When
> you try to print such an object the printer will loop infinitely.
> The *print-circle* variable tells the printer to watch for this
> condition. Basically you just create a table of nodes that you've
> seen before and if the node shows up again you just output a 
> tombstone rather than follow the node).
> It shouldn't happen if you first do 
> (1) -> [1,2,3,1]::Set Integer
> (2) -> )lisp (setq *print-array* t)
> (2) -> )lisp (setq *print-circle* t)
> (2) -> )lisp (hget |$ConstructorCache| '|Integer|)
> Tim
> address@hidden
> address@hidden

reply via email to

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