+
+(define-public ghc-hedgehog
+ (package
+ (name "ghc-hedgehog")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://hackage/package/hedgehog/hedgehog-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1qc7hkqbnsk3f5r26wc35r3qiy941nmcxhfqgcq9027kw4gs0bi0"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-async" ,ghc-async)
+ ("ghc-concurrent-output" ,ghc-concurrent-output)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-fail" ,ghc-fail)
+ ("ghc-lifted-async" ,ghc-lifted-async)
+ ("ghc-mmorph" ,ghc-mmorph)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-pretty-show" ,ghc-pretty-show)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-random" ,ghc-random)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-wl-pprint-annotated"
+ ,ghc-wl-pprint-annotated)))
+ (home-page "https://hedgehog.qa")
+ (synopsis "Property-based testing in the spirt of QuickCheck")
+ (description
+ "Hedgehog is a property-based testing system, in the spirit of
+QuickCheck. Hedgehog uses integrated shrinking, so shrinks obey the invariants
+of generated values by construction.
+
+To get started quickly, see the examples:
+@uref{https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-example}")
+ (license license:bsd-3)))
+
+(define-public cabal-doctest
+ (package
+ (name "cabal-doctest")
+ (version "1.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "cabal-doctest/cabal-doctest-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/phadej/cabal-doctest")
+ (synopsis "Setup.hs helper for running doctests")
+ (description
+ "To properly work, the @code{doctest} package needs plenty of
+configuration. This library provides the common bits for writing custom
+@file{Setup.hs} files.")
+ (license license:bsd-3)))
+
+(define-public ghc-testing-type-modifiers
+ (package
+ (name "ghc-testing-type-modifiers")
+ (version "0.1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "testing-type-modifiers/testing-type-modifiers-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1wh2n95n39ivv6kbqn42vbzrj8zagsmk6f2al2qj40bg5kgdl2q5"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/testing-type-modifiers")
+ (synopsis "Data type modifiers for property based testing")
+ (description "Property based testing libraries such as QuickCheck tend to
+include type modifiers. Most of them are used to quantify over subsets of a
+type. This library is intended to supply these modifiers to be used by
+testing libraries, in an effort to make properties more portable between
+testing frameworks.")
+ (license license:unlicense)))
+
+(define-public ghc-testing-feat
+ (package
+ (name "ghc-testing-feat")
+ (version "1.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "testing-feat/testing-feat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-size-based" ,ghc-size-based)
+ ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "https://github.com/JonasDuregard/testing-feat")
+ (synopsis "Functional Enumeration of Algebraic Types")
+ (description "Feat (Functional Enumeration of Algebraic Types)
+provides enumerations as functions from natural numbers to
+values (similar to @code{toEnum} but for any algebraic data type). This
+can be used for SmallCheck-style systematic testing, QuickCheck-style
+random testing, and hybrids of the two.")
+ (license license:bsd-3)))