[Maxima] Lisp stack overflow

Barton Willis willisb at unk.edu
Sun Jun 13 10:10:43 CDT 2010


By the way: The function neg is defined in opers.lisp as

(defmfun neg (x)
  (cond ((numberp x) (- x))
	(t (let (($negdistrib t))
	     (simplifya `((mtimes) -1 ,x) t)))))

This seems OK--if x isn't simplified, maybe the neg can return an unsimplified result.

--Barton

-----Richard Fateman <fateman at cs.berkeley.edu> wrote: -----

>To: Barton Willis <willisb at unk.edu>
>From: Richard Fateman <fateman at cs.berkeley.edu>
>Date: 06/13/2010 09:09AM
>cc: Raymond Toy <toy.raymond at gmail.com>, maxima at math.utexas.edu
>Subject: Re: [Maxima] Lisp stack overflow
>
>If neg produces simplified results, then this would be a bug in 'great'.
>and it would have to be fixed.
>
>I assumed neg had a bug in it and that it doesn't produce simplified
>results
>and that replacing neg as Barton suggests would fix it. 
>For example,
>  :lisp (defun neg(x)(mul x -1))
>
>and see if that fixes it.  But that doesn't fix it.
>
>So the bug is in great, involving mboxes.
>
>Rather than clutter great with more checks on mboxes, a feature that is 
>rarely used,
>maybe we can simply decide that  ((mbox) E)  is 'greater' than E, and 
>eliminate
>all special checks on mboxes.
>
>RJF


More information about the Maxima mailing list