name: dimensional version: 1.5 x-revision: 1 license: BSD3 license-file: LICENSE copyright: Bjorn Buckwalter 2006-2022 author: Bjorn Buckwalter maintainer: bjorn@buckwalter.se stability: experimental homepage: https://github.com/bjornbm/dimensional/ bug-reports: https://github.com/bjornbm/dimensional/issues/ category: Math, Physics synopsis: Statically checked physical dimensions cabal-version: >= 1.10 tested-with: GHC == 8.0.1, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.1, GHC == 8.8.3, GHC == 8.10.4 build-type: Simple description: 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. extra-source-files: README.md, CHANGELOG.md, examples/ReadmeExample.hs, examples/GM.lhs, examples/NewtonianMechanics.hs source-repository head type: git location: https://github.com/bjornbm/dimensional/ library build-depends: base >= 4.9 && < 5, deepseq >= 1.3 && <1.5.1.0, exact-pi >= 0.4.1 && < 0.6, ieee754 >= 0.7.6, numtype-dk >= 0.5 && < 1.1, vector >= 0.10 hs-source-dirs: src default-language: Haskell2010 default-extensions: NoImplicitPrelude if impl(ghc >= 8.6) default-extensions: NoStarIsType ghc-options: -Wall exposed-modules: Numeric.Units.Dimensional Numeric.Units.Dimensional.Coercion Numeric.Units.Dimensional.Dimensions Numeric.Units.Dimensional.Dimensions.TermLevel Numeric.Units.Dimensional.Dimensions.TypeLevel Numeric.Units.Dimensional.Dynamic Numeric.Units.Dimensional.FixedPoint 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.UnitNames.InterchangeNames Numeric.Units.Dimensional.Variants Numeric.Units.Dimensional.Float other-modules: Numeric.Units.Dimensional.Internal Numeric.Units.Dimensional.UnitNames.Internal test-suite tests type: exitcode-stdio-1.0 main-is: Spec.hs hs-source-dirs: tests default-language: Haskell2010 default-extensions: NoImplicitPrelude if impl(ghc >= 8.6) default-extensions: NoStarIsType other-modules: Numeric.Units.DimensionalSpec Numeric.Units.Dimensional.DynamicSpec Numeric.Units.Dimensional.QuantitiesSpec ghc-options: -Wall build-depends: dimensional, hspec, QuickCheck, base build-tool-depends: hspec-discover:hspec-discover == 2.* test-suite doctests type: exitcode-stdio-1.0 ghc-options: -threaded main-is: DocTests.hs hs-source-dirs: tests default-language: Haskell2010 build-depends: dimensional, doctest, Glob, QuickCheck, template-haskell, base benchmark simple type: exitcode-stdio-1.0 hs-source-dirs: benchmarks main-is: Main.hs build-depends: base, criterion, deepseq, dimensional default-language: Haskell2010 ghc-options: -O2