general comments, was: proposal to cut some aliases
Subject: general comments, was: proposal to cut some aliases
From: Richard Fateman
Date: Mon, 10 Jul 2006 08:23:43 -0700
_____
From: maxima-admin at math.utexas.edu [mailto:maxima-admin at math.utexas.edu] On
Behalf Of Stavros Macrakis
Sent: Monday, July 10, 2006 12:16 AM
To: Robert Dodier
Cc: Richard Fateman; Maxima mailing list
Subject: Re: [Maxima] general comments, was: proposal to cut some aliases
I wouldn't mind it if someone would rework the simplifier
to be entirely rules-based,
The core simplifier is fast and (pretty) good because thought was put into
(1) standardizing the internal format (sorting arguments in useful ways) and
taking advantage of that and (2) ordering the rule applications. No doubt
this work could be reproduced by a combination of compiling rules cleverly
and giving hints of various kinds, but I suspect the result would be slower,
no more functional, and perhaps still difficult to extend (presumably the
main motivation for doing it).
The topic of compiling rule sets has been explored in the past by myself,
Dick Jenks, and probably others in published papers. It is also incorporated
in some way in Mathematica, and maybe other systems.
It doesn't work as well as the best hand-coding. Most people are terrible
at composing rule sets so they are complete and unambiguous.
It makes somewhat more sense to document the simplifier as though it were
rule-driven, not necessarily write it that way when efficiency counts.
As I understand it, this is pretty much what happened when Wolfram tried to
do it in SMP. (But I've only heard this second-hand.)
Mathematica too has rules. In fact what most people think of as "defining
functions" in Mathematica is implemented as rule-based transformations.
So my tendency would be to avoid dealing with the core +/*/^ simplifier and
to concentrate on the other parts.
I'd also like to continue cleaning up the cruft has that
accumulated over the decades.
Actually, I'm pretty sure that most bugs (except for xmaxima and plotting
stuff) date back to the first decade of Macsyma's existence, not to the
three decades since then.
I think there were fairly few bugs introduced in the open-source macsyma
from 1982-present, since there was not much activity for many years. So I
agree. The commercial Macsyma may have wiped out many of those early bugs
that we still see; on the other hand, it may have introduced more bugs in
its new material.
RJF
-s