# dimensional: Statically checked physical dimensions

Dimensional is a library providing data types for performing arithmetic with physical quantities and units. Information about the physical dimensions of the quantities and units is embedded in their types and the validity of operations is verified by the type checker at compile time. The wrapping and unwrapping of numerical values as quantities is done by multiplication and division with units. The library is designed to, as far as is practical, enforce/encourage best practices of unit usage. Version 1 of the dimensional package differs from earlier version in that the dimension tracking is implemented using Closed Type Families and Data Kinds rather than functional dependencies. This enables a number of features, including improved support for unit names and quantities with statically-unknown dimensions. Requires GHC 8.0 or later.

[Skip to Readme]

## Modules

[Index] [Quick Jump]

*Numeric**Units*- Numeric.Units.Dimensional
- Numeric.Units.Dimensional.Coercion
- Numeric.Units.Dimensional.Dimensions
- Numeric.Units.Dimensional.Dynamic
- Numeric.Units.Dimensional.FixedPoint
- Numeric.Units.Dimensional.Float
- Numeric.Units.Dimensional.Functor
- Numeric.Units.Dimensional.NonSI
- Numeric.Units.Dimensional.Prelude
- Numeric.Units.Dimensional.Quantities
- Numeric.Units.Dimensional.SIUnits
- Numeric.Units.Dimensional.UnitNames
- Numeric.Units.Dimensional.Variants

- Numeric.Units.Dimensional

## Flags

### Manual Flags

Name | Description | Default |
---|---|---|

binary | Provide instances for use with the binary package. | Disabled |

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

## Downloads

- dimensional-1.6.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)

#### Maintainer's Corner

For package maintainers and hackage trustees

Candidates

Versions [RSS] | 0.7, 0.7.1, 0.7.2, 0.7.3, 0.8, 0.8.0.1, 0.8.2.1, 0.9, 0.10, 0.10.1, 0.10.1.1, 0.10.1.2, 0.10.2, 0.12, 0.12.1, 0.12.1.1, 0.12.2, 0.12.3, 0.13, 0.13.0.1, 0.13.0.2, 1.0.0.0, 1.0.1.0, 1.0.1.1, 1.0.1.2, 1.0.1.3, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6 |
---|---|

Change log | CHANGELOG.md |

Dependencies | base (>=4.9 && <5), deepseq (>=1.3), exact-pi (>=0.4.1 && <0.6), ieee754 (>=0.7.6), numtype-dk (>=0.5 && <1.1), vector (>=0.10) [details] |

License | BSD-3-Clause |

Copyright | Bjorn Buckwalter 2006-2024 |

Author | Bjorn Buckwalter |

Maintainer | bjorn@buckwalter.se |

Category | Math, Physics |

Home page | https://github.com/bjornbm/dimensional/ |

Bug tracker | https://github.com/bjornbm/dimensional/issues/ |

Source repo | head: git clone https://github.com/bjornbm/dimensional/ |

Uploaded | by BjornBuckwalter at 2024-08-30T19:02:24Z |

Distributions | Debian:1.3, LTSHaskell:1.5, NixOS:1.5, Stackage:1.6 |

Reverse Dependencies | 11 direct, 4 indirect [details] |

Downloads | 26647 total (25 in the last 30 days) |

Rating | 2.5 (votes: 6) [estimated by Bayesian average] |

Your Rating | |

Status | Docs available [build log] Last success reported on 2024-08-30 [all 1 reports] |