Property tests for class laws#1191
Conversation
Use quickcheck-classes-base to test that our instances of common classes are lawful.
That's a weird error. The only relevant thing I can find is haskell/cabal#10046. |
| -- Requires Arbitrary1 on GHC <8.6, skip | ||
| #if __GLASGOW_HASKELL__ >= 806 |
There was a problem hiding this comment.
sorry to intrude; I have two questions here.
Firstly, is 806 the correct invocation for 8.6?
Secondly, is the arbitrary1 requirement really a GHC version restriction, or should it be some kind of package version restriction? IE should this be "quickcheck version where arbitrary1 exists" or similar instead?
There was a problem hiding this comment.
Firstly, is
806the correct invocation for 8.6?
Yes, see https://downloads.haskell.org/ghc/9.14.1/docs/users_guide/phases.html#standard-cpp-macros
Secondly, is the arbitrary1 requirement really a GHC version restriction, or should it be some kind of package version restriction? IE should this be "quickcheck version where arbitrary1 exists" or similar instead?
It is indeed a restriction on GHC version set by quickcheck-classes-base:
- https://github.com/andrewthad/quickcheck-classes/blob/9aeedc602c4b8ecaf440693b916846575bbf39d3/quickcheck-classes-base/quickcheck-classes-base.cabal#L98-L99
- https://github.com/andrewthad/quickcheck-classes/blob/9aeedc602c4b8ecaf440693b916846575bbf39d3/quickcheck-classes-base/src/Test/QuickCheck/Classes/Foldable.hs#L65-L72
There was a problem hiding this comment.
wonderful, thanks for answering my questions
Use quickcheck-classes-base to test that our instances of common classes are lawful.
Closes #264