On 8/2/2011 7:35 AM, Stavros Macrakis wrote:
> On Tue, Aug 2, 2011 at 01:34, Robert Dodier <robert.dodier at gmail.com
> <mailto:robert.dodier at gmail.com>> wrote:
>
> ...In general, I'd like to see Maxima take a laissez-faire attitude
> toward Lisp complexes and rationals.
> It's OK if Maxima doesn't know what to make of sin(z) where z is
> a Lisp complex or rational, but it's not OK if it triggers an error.
>
>
> On the contrary. It is a horrible user experience to have 1/2 - 1/2
> not simplify to 0 because their internal form is different. If some
> code is injecting a Lisp complex or rational into a Maxima expression,
> and we have not updated Maxima to treat it correctly everywhere, then
> that is a bug, and the sooner an error is reported for bugs like that,
> the better.
>
I agree for the most part. I think it's good that Robert fixed it so
that printing a Lisp complex doesn't crash maxima. But I also think
that it is an error that a Lisp complex (or rational) has somehow
escaped from some internal code and is presented to the user. This is
particularly bad for the 1/2-1/2 example since maxima prints out Lisp
rationals the same as maxima rationals. (I think. I don't have access
to maxima right now.)
Ray