On 2012-10-31, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> I'd suggest you use multiplication (*) instead of the "`" operator
> throughout your calculation (e.g. 2*m instead of 2`m).
Multiplication makes it more difficult, both programmatically and
visually, to separate the unit from the quantity. E.g. when b, d, f, and
h are units, how shall we distinguish units from quantity in
a*b*c*d*e*f*g*h ? How about a/c*b/d*e/g*f/h ? ('ordergreat' helps a
little, but not nearly enough, and brings its own strangeness.)
Indicating unit and quantity with a function or operator makes it
trivial to separate the two, both programmatically & visually.
Indicating a dimensional quantity with a function is workable (e.g.
units(a, b)) but needlessly clumsy. When one writes dimensional
quantities on paper, they are just separated by a space, so I tried to
pick an operator which doesn't take much ink, so to speak.
> I don't think the ezunits convention works very well with the rest of
> Maxima in general; the handling of units should probably be rethought.
I certainly put a lot of thought into ezunits, so I suppose it must show
the limitations of my thinking. As ever, anyone & everyone are free to
suggest something else, or better still, write the code.
best
Robert Dodier