-
Notifications
You must be signed in to change notification settings - Fork 17
/
hedgehog-classes.cabal
235 lines (226 loc) · 5.67 KB
/
hedgehog-classes.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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
cabal-version: 2.2
name:
hedgehog-classes
version:
0.2.5.4
synopsis:
Hedgehog will eat your typeclass bugs
description:
This library provides Hedgehog properties to ensure
that typeclass instances adhere to the set of laws
that they are supposed to. There are other libraries
that do similar things, such as `genvalidity-hspec` and `checkers`.
This library differs from other solutions by not introducing any
new typeclasses that the user needs to learn, and otherwise minimal
API overhead.
.
This library is directly inspired by `quickcheck-classes`.
homepage:
https://github.com/hedgehogqa/haskell-hedgehog-classes
bug-reports:
https://github.com/hedgehogqa/haskell-hedgehog-classes/issues
license:
BSD-3-Clause
license-file:
LICENSE
author:
chessai
maintainer:
chessai1996@gmail.com
copyright:
2020 chessai
category:
Testing
build-type:
Simple
extra-doc-files:
README.md
, CHANGELOG.md
tested-with:
GHC == 8.6.5
, GHC == 8.8.3
, GHC == 8.10.1
, GHC == 9.0.1
, GHC == 9.2.4
, GHC == 9.4.2
source-repository head
type:
git
location:
https://github.com/hedgehogqa/haskell-hedgehog-classes.git
flag aeson
description:
You can disable the use of the `aeson` package using `-f-aeson`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
-- flag semigroupoids
-- description:
-- You can disable the use of the `semigroupoids` package using `-f-semigroupoids`.
-- .
-- This may be useful for accelerating builds in sandboxes for expert users.
-- default: True
-- manual: True
flag comonad
description:
You can disable the use of the `comonad` package using `-f-comonad`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag semirings
description:
You can disable the use of the `semirings` package using `-f-semirings`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag primitive
description:
You can disable the use of the `primitive` package using `-f-primitive`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
flag vector
description:
You can disable the use of the `vector` package using `-f-vector`.
.
This may be useful for accelerating builds in sandboxes for expert users.
default: True
manual: True
library
hs-source-dirs:
src
exposed-modules:
Hedgehog.Classes
other-modules:
Hedgehog.Classes.Alternative
Hedgehog.Classes.Applicative
Hedgehog.Classes.Arrow
Hedgehog.Classes.Bifoldable
Hedgehog.Classes.Bifunctor
Hedgehog.Classes.Binary
Hedgehog.Classes.Bitraversable
Hedgehog.Classes.Bits
Hedgehog.Classes.Category
Hedgehog.Classes.Common
Hedgehog.Classes.Common.ApTrans
Hedgehog.Classes.Common.Bottom
Hedgehog.Classes.Common.Compat
Hedgehog.Classes.Common.Equation
Hedgehog.Classes.Common.Func
Hedgehog.Classes.Common.Gen
Hedgehog.Classes.Common.IO
Hedgehog.Classes.Common.Laws
Hedgehog.Classes.Common.Property
Hedgehog.Classes.Common.PP
Hedgehog.Classes.Comonad
Hedgehog.Classes.Contravariant
Hedgehog.Classes.Enum
Hedgehog.Classes.Eq
Hedgehog.Classes.Foldable
Hedgehog.Classes.Functor
Hedgehog.Classes.Generic
Hedgehog.Classes.Integral
-- Hedgehog.Classes.Ix
Hedgehog.Classes.Json
Hedgehog.Classes.Monad
-- Hedgehog.Classes.MonadFix
Hedgehog.Classes.MonadIO
Hedgehog.Classes.MonadPlus
Hedgehog.Classes.MonadZip
Hedgehog.Classes.Monoid
Hedgehog.Classes.MVector
Hedgehog.Classes.Ord
Hedgehog.Classes.Prim
Hedgehog.Classes.Semigroup
Hedgehog.Classes.Semiring
Hedgehog.Classes.Show
Hedgehog.Classes.ShowRead
Hedgehog.Classes.Storable
Hedgehog.Classes.Traversable
build-depends:
, base >= 4.12 && < 4.21
, binary >= 0.8 && < 0.9
, containers >= 0.5 && < 0.8
, hedgehog >= 1 && < 1.6
, pretty-show >= 1.9 && < 1.11
, silently >= 1.2 && < 1.3
, transformers >= 0.5 && < 0.7
, wl-pprint-annotated >= 0.0 && < 0.2
ghc-options:
-Wall
default-language:
Haskell2010
if flag(aeson)
build-depends: aeson >= 0.9 && < 2.3
cpp-options: -DHAVE_AESON
-- if flag(semigroupoids)
-- build-depends: semigroupoids >= 0.5.3.0 && < 0.6.0.0
-- cpp-options: -DHAVE_SEMIGROUPOIDS
if flag(semirings)
build-depends: semirings >= 0.2 && < 0.8
cpp-options: -DHAVE_SEMIRINGS
if flag(comonad)
build-depends: comonad >= 5.0 && < 5.1
cpp-options: -DHAVE_COMONAD
if flag(vector)
build-depends: vector >= 0.12 && < 0.14
cpp-options: -DHAVE_VECTOR
if flag(primitive)
build-depends: primitive >= 0.6.4 && < 0.10
cpp-options: -DHAVE_PRIMITIVE
test-suite spec
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
Spec.hs
other-modules:
Spec.Alternative
Spec.Applicative
Spec.Arrow
Spec.Bifoldable
Spec.Bifunctor
Spec.Binary
Spec.Bitraversable
Spec.Bits
Spec.Category
Spec.Comonad
Spec.Contravariant
Spec.Enum
Spec.Eq
Spec.Foldable
Spec.Functor
Spec.Generic
Spec.Integral
-- Spec.Ix
Spec.Json
Spec.Monad
Spec.Monoid
Spec.MVector
Spec.Ord
Spec.Prim
Spec.Semigroup
Spec.Semiring
Spec.Show
Spec.Storable
Spec.Traversable
build-depends:
, aeson
, base
, binary
, comonad
, containers
, hedgehog
, hedgehog-classes
ghc-options:
-Wall
default-language:
Haskell2010
if flag(vector)
build-depends: vector
cpp-options: -DHAVE_VECTOR