packages feed

hedgehog-classes-0.2.3: hedgehog-classes.cabal

cabal-version: 2.2
name:
  hedgehog-classes
version:
  0.2.3
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 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

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.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.5
    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.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.Comonad
    Spec.Contravariant
    Spec.Enum
    Spec.Eq
    Spec.Foldable
    Spec.Functor
    Spec.Generic
    Spec.Integral
--    Spec.Ix
    Spec.Json
    Spec.Monad
    Spec.Monoid
    Spec.Ord
    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