QuickCheck common typeclasses from `base`
|Version on this page:||0.6.1.0|
|LTS Haskell 18.23:||0.6.2.0|
|Stackage Nightly 2022-01-27:||0.6.2.0|
|Latest on Hackage:||0.6.2.0|
This libary is a minimal variant of `quickcheck-classes` that
only provides laws for typeclasses from
base. The main purpose
of splitting this out is so that
primitive can depend on
`quickcheck-classes-base` in its test suite, avoiding the circular
dependency that arises if `quickcheck-classes` is used instead.
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
This library differs from other solutions by not introducing
any new typeclasses that the user needs to learn.
Note: on GHC < 8.5, this library uses the higher-kinded typeclasses
but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express these
constraints more cleanly.
All notable changes to this project will be documented in this file.
Note that since
quickcheck-classes reexports larges parts of
quickcheck-classes-base, changelog entries that deal with any of the
base are duplicated across the two changelogs.
[0.6.1.0] - 2020-09-09
- Laws for
- Storable Set-Set Law (resolves issue 101).
- Add laws for
- Use non-commutative monoid for bifoldable tests (resolves issue 98)
substitutiveEqLaws, which tests for Eq substitutivity.
- Negation law check for
- Document that users can provide their own
[0.6.0.0] - 2019-08-08
- Initial release. This factor out a subset of laws tests
quickcheck-classesand depend on this library that have a more minimal dependency footprint.
- Add laws for left rotate and right rotate.
- Add law that checks that subtraction is the same thing as adding the negation of a number.