1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
name: dimensional
version: 1.5
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,
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
|