Lisp stack overflow



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