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
|
cabal-version: 2.4
name: quickcheck-classes-base
version: 0.6.2.0
x-revision: 1
synopsis: QuickCheck common typeclasses from `base`
description:
This libary is a minimal variant of `quickcheck-classes` that
only provides laws for typeclasses from `base`. The main purpose
of splitting this out is so that `primitive` can depend on
`quickcheck-classes-base` in its test suite, avoiding the circular
dependency that arises if `quickcheck-classes` is used instead.
.
This library provides QuickCheck 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.
.
/Note:/ on GHC < 8.5, this library uses the higher-kinded typeclasses
('Data.Functor.Classes.Show1', 'Data.Functor.Classes.Eq1', 'Data.Functor.Classes.Ord1', etc.),
but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express these
constraints more cleanly.
homepage: https://github.com/andrewthad/quickcheck-classes#readme
license: BSD-3-Clause
license-file: LICENSE
author: Andrew Martin, chessai
maintainer: andrew.thaddeus@gmail.com
copyright: 2019 Andrew Martin
category: Testing
build-type: Simple
extra-source-files: changelog.md
flag unary-laws
description:
Include infrastructure for testing class laws of unary type constructors.
default: True
manual: True
flag binary-laws
description:
Include infrastructure for testing class laws of binary type constructors.
Disabling `unary-laws` while keeping `binary-laws` enabled is an unsupported
configuration.
default: True
manual: True
library
default-language: Haskell2010
hs-source-dirs: src
exposed-modules:
Test.QuickCheck.Classes.Base
Test.QuickCheck.Classes.Base.IsList
Test.QuickCheck.Classes.Internal
other-modules:
Test.QuickCheck.Classes.Alternative
Test.QuickCheck.Classes.Applicative
Test.QuickCheck.Classes.Bifoldable
Test.QuickCheck.Classes.Bifunctor
Test.QuickCheck.Classes.Bitraversable
Test.QuickCheck.Classes.Bits
Test.QuickCheck.Classes.Category
Test.QuickCheck.Classes.Contravariant
Test.QuickCheck.Classes.Enum
Test.QuickCheck.Classes.Eq
Test.QuickCheck.Classes.Foldable
Test.QuickCheck.Classes.Functor
Test.QuickCheck.Classes.Generic
Test.QuickCheck.Classes.Integral
Test.QuickCheck.Classes.Ix
Test.QuickCheck.Classes.Monad
Test.QuickCheck.Classes.MonadFail
Test.QuickCheck.Classes.MonadPlus
Test.QuickCheck.Classes.MonadZip
Test.QuickCheck.Classes.Monoid
Test.QuickCheck.Classes.Num
Test.QuickCheck.Classes.Ord
Test.QuickCheck.Classes.Semigroup
Test.QuickCheck.Classes.Show
Test.QuickCheck.Classes.ShowRead
Test.QuickCheck.Classes.Storable
Test.QuickCheck.Classes.Traversable
build-depends:
, base >= 4.5 && < 5
, QuickCheck >= 2.7
, transformers >= 0.3 && < 0.7
, containers >= 0.4.2.1
if impl(ghc < 8.6)
build-depends: contravariant
if impl(ghc < 8.2)
build-depends: bifunctors
if impl(ghc < 8.0)
build-depends:
, semigroups >= 0.17
, fail
if impl(ghc < 7.8)
build-depends: tagged
if impl(ghc > 7.4) && impl(ghc < 7.6)
build-depends: ghc-prim
if impl(ghc > 8.5)
cpp-options: -DHAVE_QUANTIFIED_CONSTRAINTS
if flag(unary-laws)
build-depends:
, transformers >= 0.4.0
, QuickCheck >= 2.10.0
cpp-options: -DHAVE_UNARY_LAWS
if flag(binary-laws)
build-depends:
, transformers >= 0.5.0
, QuickCheck >= 2.10.0
cpp-options: -DHAVE_BINARY_LAWS
source-repository head
type: git
location: https://github.com/andrewthad/quickcheck-classes
|