Description
Mathematical/physical/chemical constants.
Description
Science.Constants.Dimensional
is a variant of Science.Constants
[1] package, with the only difference is that that the dimensional flavor provides (where applicable) dimensionally-typed constants. The Numeric.Units.Dimensional
[2] wrappers allow to write type-safe formulas, for example all of this will successfully type-check:
~$ ghci -XNoImplicitPrelude
λ= import Numeric.Units.Dimensional.Prelude
λ= import Science.Constants.Dimensional
λ= massOfProton + massOfElectron
1.673532715291e-27 kg
λ= massOfProton / massOfElectron
1836.1526719486646
But this will not:
λ= massOfProton / massOfElectron + planckConstant
<interactive>:10:14:
Couldn't match type `Numeric.NumType.Pos
(Numeric.NumType.Pos Numeric.NumType.Zero)'
with `Numeric.NumType.Zero'