Dan, Richard,
Maxima certainly has a lot of weird definitions. But then, so do
Matlab/Octave. Dan was complaining about 'length' in Maxima. Do you
know what length(matrix) does in Matlab/Octave?:
For matrix objects, the length is the number of rows or
columns, whichever is greater
So much for Matlab as a model. Besides individual weirdnesses like
this, remember that Matlab specializes in *numeric* *matrix*
calculations, so its notation is not likely to make sense for *symbolic*
calculations in a *variety* of domains. To take a trivial example,
Matlab doesn't distinguish between scalar and matrix multiplication,
because all objects have known values.
That said, Maxima as it stands clearly has a lot of messy areas. I
don't think we can fix them by changing one function here, one function
there, and adding a few new features. Design is work.
-s