You may also be interested in the various flavors of Björn Buckwalter's dimensional library.

On hackage it's dimensional-tf (for type families, and my preference) or dimensional (for multi-parameter type classes).

We are working on making a version that takes advantage of the new GHC DataKinds features to provide even more features, that's at https://github.com/bjornbm/dimensional-dk.


-Doug


On Tue, Mar 11, 2014 at 4:26 PM, Mike Meyer <mwm@mired.org> wrote:

On Tue, Mar 11, 2014 at 4:03 PM, Iustin Pop <iusty@k1024.org> wrote:
> Looking at your documentation, I see a lot of sense behind implementing
> different units (Horsepower vs. Watts), but I'm not so sure about (for
> example) g/kg or m/cm/mm. These are just (SI) scaling factors, so should
> they be treated the same as individual units?

Depends on if the difference shows up to the user. I've been using a
calculator/scripting language (Frink) for years that has this kind of
facility, and while I know that they are just scaling factors, I still
treat them as different types of units. That may be because I grew up
using imperial units, and inches/feet/yards/miles don't allow for
being treated that way.

> For just the scaling factors, I released last year
> couldn't somehow combine these two libraries. After all, "k" applies
> both to KG and KW :)

Yes, but "KV" is not _always_ a kilovolt. When used on an electrical
motor, it's a measure of how many thousands of RPM you can expect the
motor to turn when for each volt of power it's fed. I'm hoping to get
around to desiging the power system for a multirotor this year, and
will be interesetd to see how various tools deal with this issue.

   <mike


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe




--
J. Douglas McClean

(781) 561-5540 (cell)