Skip to content
SPECIFICTION
Get listed

QuickCheck

hackage.haskell.org

Free plan Linux

What it is

QuickCheck is a free Haskell library for testing program properties against randomly generated cases. Developers write specifications with QuickCheck combinators and can use combinators to define test-data generators and inspect generated-data distributions. It supports stateful testing, reproducible failures and shrinking failing cases. Monadic property testing is provided through the Test.QuickCheck.Monadic module. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages, with additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell and transformers. Hackage reports it tested with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package. The listed package plan costs nothing.

Spec sheet

Purpose
QuickCheck is a Haskell library for random testing of program properties by checking specifications against randomly generated cases.Read 2 Oct 2026 · hackage.haskell.org
License
The package is licensed under BSD-3-Clause.Read 2 Oct 2026 · hackage.haskell.org
Companion package
The quickcheck-instances companion package provides instances for types in Haskell Platform packages, with additional dependencies.Read 2 Oct 2026 · hackage.haskell.org
Compiler compatibility
Hackage reports the package tested with GHC versions at least 8.10 and below 9.15, and Hugs.Read 2 Oct 2026 · hackage.haskell.org
Data distribution
QuickCheck provides combinators to observe the distribution of test data.Read 2 Oct 2026 · hackage.haskell.org
Dependencies
The package lists dependencies including base, containers, random, splitmix, template-haskell, and transformers.Read 2 Oct 2026 · hackage.haskell.org
Download
Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package.Read 2 Oct 2026 · hackage.haskell.org
Generators
QuickCheck provides combinators for defining test data generators.Read 2 Oct 2026 · hackage.haskell.org
Hugs compatibility
The make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations.Read 2 Oct 2026 · github.com
Monadic testing
The monadic property testing library is provided in the Test.QuickCheck.Monadic module.Read 2 Oct 2026 · hackage.haskell.org
Property specifications
Program specifications are expressed in Haskell using QuickCheck combinators.Read 2 Oct 2026 · hackage.haskell.org
Use
The package README says to add QuickCheck to package dependencies to use it in tests or a REPL.Read 2 Oct 2026 · hackage.haskell.org

Plans and prices

QuickCheck Free Haskell library for random testing of program properties Read 2 Oct 2026 · hackage.haskell.org

Every QuickCheck plan and price →

Strong points and limits

Strong points

  • Tests specifications against randomly generated cases.
  • Includes generators and data-distribution combinators.
  • Supports shrinking and reproducible failures.
  • Provides monadic property testing.
  • Licensed under BSD-3-Clause.

Limits

  • The package is for Haskell.
  • The companion instances package adds dependencies.
  • The reported GHC test range excludes versions 9.15 and later.

Who it suits

QuickCheck suits Haskell developers who want to check properties across generated inputs, including stateful or monadic properties. It is relevant to projects using compatible GHC versions or Hugs.

Verdict

QuickCheck provides property-based testing tools for Haskell, including generators, shrinking and monadic testing. Review its dependencies and reported compiler compatibility when adding it to a project.

Where Specifiction places it

Alternatives to QuickCheckAll alternatives →