maxima written in maxima



Richard Fateman wrote:

What I am suggesting is that we start thinking about
Maxima overall, and look at the functionality
of each part.  Decide what parts could be modified
from the standpoint of 20 years of development
experience.  Pattern matching may make sense
in some places, new algorithms may make sense
in others.

> I agree with Stavros..
>
> Very little internal code has been written using pattern matching
> (One, used in Moses' integrator, is used in probably 15-20 places;
> it may also be used in summation). The user-level pattern matcher
> I wrote, and which may have been rewritten in commercial Macsyma,
> is used in a few places perhaps like ODE solving(?). Only a few
> end users have tried it.
>
> There is a philosophical issue about pattern matching.  It is
> possible to make things "look right" by amassing a number
> of special case patterns, without every getting to the core
> issue.  You could solve polynomial factorization by pattern
> matching.  Poorly.
>
> I think that large systems using patterns are terrible maintenance
> nightmares. Patterns tend to interact.  For example, say you
> decide that you want log(a*b) to simplify to log(a)+ log(b), and
> make that 'always happen'.  Would you be surprised if
> integration ceased to work? I wouldn't be surprised.
>
> RJF