"trigrat" caught in infinite loop - depending on how you call it
Subject: "trigrat" caught in infinite loop - depending on how you call it
From: Robert Dodier
Date: Wed, 7 Nov 2012 17:50:20 +0000 (UTC)
On 2012-11-07, David Scherfgen <d.scherfgen at googlemail.com> wrote:
> I found out that if you call "reset()" inbetween, it gives the short
> answer both times:
>
> f: 1/(y+sqrt(y));
> [trigrat(f), reset(), trigrat(f)];
That's a very interesting observation. Having to call reset indicates
that there is a bug (namely there is some state data that needs to be
cleaned up). reset returns the list of variables which it resets. I get
the following output:
f: 1/(y+sqrt(y));
[a : trigrat(f), foo : reset(), b : trigrat(f)];
is (a = b);
=> true
grind (foo);
=> [?odds,lispdisp,?tr\-unique,?varlist,?genvar,linenum,%,labels,__,
_,piece,features]
Probably the first things to look at are the Lisp variables (marked with
leading question mark).
best
Robert Dodier