name: quickcheck-classes
version: 0.4.14
synopsis: QuickCheck common typeclasses
description:
  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.
homepage: https://github.com/andrewthad/quickcheck-classes#readme
license: BSD3
license-file: LICENSE
author: Andrew Martin, chessai
maintainer: andrew.thaddeus@gmail.com
copyright: 2018 Andrew Martin
category: Testing
build-type: Simple
extra-source-files: README.md
cabal-version: >=1.10
extra-source-files: changelog.md

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:
    Test.QuickCheck.Classes
    Test.QuickCheck.Classes.IsList
  other-modules:
    Test.QuickCheck.Classes.Alt
    Test.QuickCheck.Classes.Alternative
    Test.QuickCheck.Classes.Applicative
    Test.QuickCheck.Classes.Apply
    -- Test.QuickCheck.Classes.Arrow
    Test.QuickCheck.Classes.Bifunctor
    Test.QuickCheck.Classes.Bits
    Test.QuickCheck.Classes.Category
    Test.QuickCheck.Classes.Common
    Test.QuickCheck.Classes.Compat
    Test.QuickCheck.Classes.Enum
    Test.QuickCheck.Classes.Eq
    Test.QuickCheck.Classes.Foldable
    Test.QuickCheck.Classes.Functor
    Test.QuickCheck.Classes.Integral
    Test.QuickCheck.Classes.Json
    Test.QuickCheck.Classes.Monad
    Test.QuickCheck.Classes.MonadFail
    Test.QuickCheck.Classes.MonadPlus
    Test.QuickCheck.Classes.MonadZip
    Test.QuickCheck.Classes.Monoid
    Test.QuickCheck.Classes.Ord
    Test.QuickCheck.Classes.Plus 
    Test.QuickCheck.Classes.Prim
    Test.QuickCheck.Classes.Semigroup
    Test.QuickCheck.Classes.Semigroupoid
    Test.QuickCheck.Classes.Semiring 
    Test.QuickCheck.Classes.ShowRead
    Test.QuickCheck.Classes.Storable
    Test.QuickCheck.Classes.Traversable
  build-depends:
      base >= 4.5 && < 5
    , bifunctors 
    , QuickCheck >= 2.9
    , transformers >= 0.3 && < 0.6
    , primitive >= 0.6.1 && < 0.7
    , containers
    , semigroups
    , tagged
  if flag(aeson)
    build-depends: aeson
  if flag(semigroupoids)
    build-depends: semigroupoids 
  if flag(semirings)
    build-depends: semirings >= 0.2.0.0
  default-language: Haskell2010

test-suite test
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Spec.hs
  build-depends:
      base
    , quickcheck-classes
    , QuickCheck
    , containers 
    , primitive
    , vector
    , semigroupoids 
    , transformers
    , tagged
  if flag(aeson)
    build-depends: aeson
  default-language: Haskell2010

source-repository head
  type: git
  location: https://github.com/andrewthad/quickcheck-classes