Re: [Maxima-bugs] [ maxima-Bugs-1407378 ] polarform returns a rectangular expression for float argumen



The simplifiers DO use objected oriented dispatch.
They look at the explicit type tag, e.g.  msin,
mcos, mplus, mtimes
and use methods associated with each of them.  In
some cases the method
is looked up on the property list of the type.  For
"efficiency"  times plus expt
are handled differently.

The problem I see is that if you have written your
programs assuming
that  0*anything  is   0,    and then someone gives
you an exception to that
rule   (like   0*infinity  is 'undef')  then object
orientedness doesn't really
help.

On the other hand, I'm writing a bunch of programs
using defmethod etc
to change LISP so that it knows about things like
GMP arithmetic,
polynomials,  intervals.... eventually the LISP may
meet Maxima halfway.

RJF

----- Original Message -----
From: Barton Willis <willisb at unk.edu>
Date: Thursday, January 19, 2006 11:49 am
Subject: Re: [Maxima] Re: [Maxima-bugs] [
maxima-Bugs-1407378 ] polarform returns a
rectangular expression for float argumen

> > Another example is how to deal with "real_interval"
> > objects, which I have been puzzling over.
> 
> I wish somebody would re-write the simplification
functions
> for the arithmetic operators so that they use
object-oriented
> dispatch. 
> 
> Maybe I'm wrong, but I don't think tellsimpafter
> is sturdy enough for incorporating new objects,
such as
> real intervals, into maxima.
> 
> Oh sure--the effort for appending n new objects is
O(n^2).
> So it goes.
> 
> Barton
> 
>