-
Notifications
You must be signed in to change notification settings - Fork 17
/
dimensional.cabal
117 lines (107 loc) · 4.63 KB
/
dimensional.cabal
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
117
name: dimensional
version: 1.6.1
license: BSD3
license-file: LICENSE
copyright: Bjorn Buckwalter 2006-2024
author: Bjorn Buckwalter
maintainer: [email protected]
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.10.7,
GHC == 9.0.2,
GHC == 9.2.8,
GHC == 9.4.8,
GHC == 9.6.6,
GHC == 9.8.2,
GHC == 9.10.1
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
flag binary
description: Provide instances for use with the binary package.
default: False
manual: True
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
if flag(binary)
build-depends: binary >= 0.7 && < 1
cpp-options: -DUSE_BINARY
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.*
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