UnitTyped is a Haskell library that makes it possible to do type-safe computations with units. The units are open-world: any new module can define new units, which will work with the already existing units immediately.
Length Time Mass Temperature Current Luminous intensity Currency Data
Which have the following units:
ampere bar barn bit byte candela coulomb day degree dollar euro eV farad fluid ounce foot gallon gram gulden henry herz hour inch joule julian year kelvin knot liter meter mile minute mmHg mole month nautical mile newton ohm pascal percentage permil planckmass pound pound ppb ppm ppt radian second siemens tesla volt watt weber yard year yen ångström