-
Notifications
You must be signed in to change notification settings - Fork 0
/
refined-containers.cabal
98 lines (92 loc) · 2.93 KB
/
refined-containers.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
cabal-version: 3.0
name: refined-containers
category: Data
synopsis:
Type-checked proof that a key exists in a container and can be safely
indexed.
description:
This package defines ways to prove that a key exists in an associative
container such as a 'Map', 'IntMap', or 'HashMap'; so that the key can be
used to index into the map without a 'Maybe' or manually handling the
\"impossible\" case with 'error' or other partial functions.
To do this, the containers are tagged with a type parameter that identifies
their set of keys, so that if you have another container with the same
parameter, you know it has the same keys.
There is also a type of keys that have been proven to exist in such
containers -- a refinement type. They are also tagged with a type parameter.
If the type parameter of the key matches that of the container, indexing is
guaranteed to proceed without failure.
license: MIT
license-file: LICENSE
author: [email protected]
maintainer: [email protected]
version: 0.1.0.1
build-type: Simple
tested-with:
, GHC == 9.6.3
, GHC == 9.4.8
, GHC == 9.2.8
, GHC == 9.0.2
, GHC == 8.10.7
, GHC == 8.6.5
source-repository head
type: git
location: https://github.com/typeable/refined-containers/
library
build-depends:
, base >= 4.12 && < 4.20
, adjunctions >= 4.4 && < 4.5
, constraints >= 0.11 && < 0.15
, containers >= 0.5.7 && < 0.8
, deepseq >= 1.4 && < 1.6
, distributive >= 0.5.3 && < 0.7
, hashable >= 1.2.7 && < 1.5
, indexed-traversable >= 0.1 && < 0.2
, mtl >= 2.2.2 && < 2.4
, refined >= 0.5 && < 0.9
, reflection >= 2 && < 2.2
, unordered-containers >= 0.2.11 && < 0.3
exposed-modules:
Data.HashMap.Refined
Data.HashMap.Strict.Refined
Data.HashSet.Refined
Data.IntMap.Refined
Data.IntMap.Strict.Refined
Data.IntSet.Refined
Data.Map.Refined
Data.Map.Strict.Refined
Data.Set.Refined
other-modules:
Data.Container.Refined.Conversion
Data.Container.Refined.Hashable
Data.Container.Refined.Proofs
Data.Container.Refined.Unsafe
Data.HashMap.Common.Refined
Data.IntMap.Common.Refined
Data.Map.Common.Refined
hs-source-dirs: src
default-language: Haskell2010
default-extensions:
BangPatterns
BlockArguments
ConstraintKinds
DataKinds
DeriveTraversable
DerivingStrategies
FlexibleContexts
FlexibleInstances
GADTs
GeneralizedNewtypeDeriving
MagicHash
MultiParamTypeClasses
MultiWayIf
OverloadedStrings
RankNTypes
PatternSynonyms
RoleAnnotations
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ghc-options: -Wall -Wredundant-constraints