File: hedgehog-classes.cabal

package info (click to toggle)
haskell-hedgehog-classes 0.2.5.4-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 504 kB
  • sloc: haskell: 6,010; makefile: 5
file content (236 lines) | stat: -rw-r--r-- 5,816 bytes parent folder | download | duplicates (2)
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
236
cabal-version: 2.2
name:
  hedgehog-classes
version:
  0.2.5.4
x-revision: 2
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