proposal to cut some aliases



I don't recall the history of diff vs derivative, but as far as ratcoef, I
wrote the command and gave it a name, but it either occurred to me or
someone suggested to me, that calling the command ratcoeff might be a
natural mistake (or might be a better name in the first place) and maybe I
should rename it.  So I included both names.

This was not a result of a human-factors experiment, or even much thought.

Maybe there should be a command-completion facility, or a facility whereby
Maxima notices that a name that you used is typographically close to
something else, and makes some note about it.  Mathematica has both these
features, and it is presumably not original with Mathematica.

As for Maxima being a mess, I will not argue. But there are several ways of
cleaning it up.

1. Changing the documentation to reflect what is really there.

2. Changing the code to agree with the documentation.

3. Removing BOTH code and documentation  (and replacing with something
better.)

There is a way of making a transition, which is to have certain features
which are officially gone, be marked as "depreciated" or "unsupported" but
still in the system as long as they don't break something.  

I have found that certain pieces of code that work in Maxima do not work in
the commercial Macsyma because they use (in some inessential way) some added
feature that I was not even aware of. I find this annoying, but I can
usually figure out what is going on. Others may not be so familiar with the
syntax etc. The commercial Macsyma also has (many) features not in Maxima,
but it probably still is backward-compatible, at least syntactically, with
DOE-Macsyma.  These changes are in addition to the upper/lower case
alterations.  The commercial Macsyma with bothcases:true is probably
consistent with the case material.

It is certainly possible for someone to decide to write an entirely new
document which describes a CAS that is NOT a mess, and to use as much code
as is convenient, from any source whatsoever, including Maxima, to implement
that CAS. I have, occasionally, thought about doing this.  Should that new
CAS be called Maxima? Maybe not.  

Should the system that is called Maxima be altered to be backward
incompatible with DOE-Macsyma? -- Maybe if there is a strong enough
consensus. And of course if everyone characterizes previous behavior as
buggy, it should be changed. But I suspect most people, including me, look
at Maxima's future as one of (mostly) adding (un-controversial) features or
efficiency. This could, I suppose, include building yet another front end or
even evaluator/simplifier, with different rules. It could even look like
Mathematica (or mockmma). This does not require removing the existing front
end parser etc.

A good rule of thumb: If it isn't broken, don't fix it.

RJF



-----Original Message-----
From: maxima-admin at math.utexas.edu [mailto:maxima-admin at math.utexas.edu] On
Behalf Of Robert Dodier
Sent: Sunday, July 09, 2006 9:40 AM
To: Albert Reiner
Cc: Maxima mailing list
Subject: Re: [Maxima] proposal to cut some aliases

Albert,

> I wonder: what is the cost of keeping the aliases?  I suspect it is
> extremely small (presumably something like (define-symbol-macro
> $ratcoeff $ratcoef)).  If so, I think they should be kept:

The cost is increased confusion on the part of the user.

> - There may be user code that relies on some of the aliases.  This is
>   particularly so for the cases where the documented form (...coef)
>   seems less natural than the alias (...coeff).

These aliases are all undocumented. I don't care
if code using undocumented features gets broken.

More generally, Maxima is a mess, and it is more or less
impossible to make progress without stepping on someone's
toes and raining on their parade, etc.

> - Convenience is hardly something to forego without a reason.

If Maxima were sensible and consistent, we wouldn't need
convenience. We are better off addressing the underlying
problems (and you may not see it, but I am trying pretty
hard to do so) than getting out the duct tape and bailing wire.

> Maybe it is sufficient to cut them from the documentation,
> and to move their definition into one place?

FWIW they're not documented, and they're all in one place already.
Aside from the ones I mentioned, there are probably others in other places.

All the best,
Robert

_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima