cabal-version: 2.2
name:
hedgehog-classes
version:
0.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/chessai/hedgehog-classes
bug-reports:
https://github.com/chessai/hedgehog-classes/issues
license:
BSD-3-Clause
license-file:
LICENSE
author:
chessai
maintainer:
chessai1996@gmail.com
copyright:
2019 chessai
category:
Testing
build-type:
Simple
extra-doc-files:
README.md
, CHANGELOG.md
tested-with: GHC == 8.6.5, GHC == 8.8.1
source-repository head
type: git
location: https://github.com/chessai/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 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
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.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.Ord
Hedgehog.Classes.Semigroup
Hedgehog.Classes.Semiring
Hedgehog.Classes.Show
Hedgehog.Classes.ShowRead
Hedgehog.Classes.Storable
Hedgehog.Classes.Traversable
build-depends:
, base >= 4.12 && < 4.14
, binary >= 0.8 && < 0.9
, containers >= 0.5 && < 0.7
, hedgehog >= 1 && < 1.1
, pretty-show >= 1.9 && < 1.10
, silently >= 1.2 && < 1.3
, transformers >= 0.5 && < 0.6
, wl-pprint-annotated >= 0.0 && < 0.2
ghc-options:
-Wall
default-language:
Haskell2010
if flag(aeson)
build-depends: aeson >= 0.9 && < 1.5
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.4
cpp-options: -DHAVE_SEMIRINGS
-- if flag(vector)
-- build-depends: vector >= 0.12.0.0 && < 0.13.0.0
-- cpp-options: -DHAVE_VECTOR
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.Contravariant
Spec.Enum
Spec.Eq
Spec.Foldable
Spec.Functor
Spec.Generic
Spec.Integral
-- Spec.Ix
Spec.Json
Spec.Monad
Spec.MonadIO
Spec.MonadPlus
Spec.MonadZip
Spec.Monoid
Spec.Ord
Spec.Semigroup
Spec.Show
Spec.ShowRead
Spec.Storable
Spec.Traversable
build-depends: base
, aeson
, binary
, containers
, hedgehog
, hedgehog-classes
ghc-options: -Wall
default-language: Haskell2010