nick8325 / nick8325/quickcheck
Missing bounds for `base` break builds with QuicckCheck-2.17.0.0 (and probably more)
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 790
- Forks
- 130
- Avg merge
- 16h 41m
- Merged PRs (30d)
- 2
Description
getDown was introduced in GHC 8.10 (base-4.14.0.0)
So, I'm getting
src/Test/QuickCheck/Arbitrary.hs:1181:32: error:
Variable not in scope: getDown :: Down a -> a
with GHC 8.8 and GHC 8.6.
Data.Finctor.Contravariant was introduced in GHC 8.6 (base-4.12.0.0)
So, I'm getting
src/Test/QuickCheck/Arbitrary.hs:218:1: error:
Could not find module ‘Data.Functor.Contravariant’
It will also bring problems down the road that transformers, containers, data-array-byte, deepseq, template-haskell are all missing (some) bounds. Also, random is outdated and uses an upper bound with trailing zeroes which is a bad idea, as rightly pointed out by cabal check.
All these issues could be fixed by a Hackage revision.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the compatibility errors in src/Test/QuickCheck/Arbitrary.hs and the package dependency bounds, then run cabal check and the GHC 8.4, 8.6, and 8.8 builds linked in the report. Done means the base and other listed dependency bounds support the intended versions, obsolete random bounds are corrected, and the affected builds pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100