On 2013-07-29, Raymond Toy <toy.raymond at gmail.com> wrote:
> Error in function GREAT: GREAT: internal error: unexpected MRAT argument
> (GREAT ((MRAT SIMP NIL NIL) 1 . 1) ((MRAT SIMP NIL NIL) 0 . 1))
> Source:
> ; File: /usr/local/google/home/rtoy/src/sourceforge/maxima/src/simp.lisp
> (ERROR "GREAT: internal error: unexpected MRAT argument")
> 0] back
>
> 0: (GREAT ((MRAT SIMP NIL NIL) 1 . 1) ((MRAT SIMP NIL NIL) 0 . 1))
> 1: (B-SEARCH-EXPR
> (($MATRIX SIMP) ((MLIST SIMP) ((MRAT SIMP NIL NIL) 0 . 1))
> ((MLIST SIMP) ((MRAT SIMP NIL NIL) 1 . 1)))
> ((($MATRIX SIMP) ((MLIST SIMP) ((MRAT SIMP NIL NIL) 1 . 1))
> ((MLIST SIMP) ((MRAT SIMP NIL NIL) 0 . 1))))
> 0
> 1)
OK -- the problem is that B-SEARCH-EXPR calls GREAT directly without
protecting GREAT from CRE expressions. There were some commits not
too long ago about that -- see 4a3b2eaaee, a87a00bcf0, 90bf14f58fa,
and 716082de0. I seem to recall that I put only an error message in
GREAT since converting from CRE is expensive, but that means that
callers have to cooperate.
best
Robert Dodier