Subject: Re: bug#10554: 24.0.92; No units specified (dimensionless quantities in Emacs Calc)

From: "Roland Winkler" <[email-masked]>
Date: Fri, 20 Jan 2012 11:55:20 -0600

On Fri Jan 20 2012 Jay Belanger wrote:
> 
> > I would always consider the concept of "converting part of a units
> > expression" to be not the main rule to follow here,
> 
> If 45 mi/hr is on the stack, and "u c" is called with new units km, what
> should happen?  

Here the user is posing a problem with no uniquely defined answer.
The answer could be expressed in km/hr but also in km/s or in km eV/hbar.
This scenario I would always give the lowest priority.

> > but the exception if nothing else works because it is, in
> > general, not unique which unit should be used for the remainder,
> > if one converts, say, pc^2 into gal.
> 
> If volume is converted to volume, there should be no remainder.

pc^2 specifies an area: 1 pc^2 is converted to 2.5e35 gal/m

> But what if you ask Calc to convert a units expression into a
> dimensionless number when it can't be so converted?

again: I'd give this scenario the lowest priority.

I'd say: most often the requested output unit does not match the
dimension of the input because one made whatever mistake either in
the expression to be converted or in the unit selected for the
output.

> If you try to convert it to alpha, you can use "1" as a default old
> unit and you can give it "alpha" as a new unit.  (Since "1" can't be
> used as an output unit, it isn't obvious that it can be used an
> an input unit.  Perhaps that's what this discussion is about.)

If I have a plain number on the stack and want it to be converted to
alpha, I'll be asked for the old unit. - You are right: here one can
specify "1" as the old unit.

My problem is here that from my perspective as a Calc user (not
worrying about any internals of Calc) the treatment of the unit "1"
sticks out in various ways.

In physics I'd call "1" a unit like all the other ones. In that sense
it would be great if Calc could treat it that way, too.

> (Granted, currently an output unit of 1 does give an error, but
> since it would be a no-op I doubt the user intended to give it
> anyhow.)

This is the point where I want to argue the other way round:

For me, it's perfectly valid and it would be great if one could use
it like any other unit.

> > Note that conversion of "7 alpha" to "m" already gives the
> > dimensionless number 0.051.
> 
> Right.  That's how it currently works,

I'd say that this example illustrates once more that any "partial
conversion" is most often meaningless and not what the user might
have intended.

Roland