nick8325 / nick8325/quickcheck

Missing bounds for `base` break builds with QuicckCheck-2.17.0.0 (and probably more)

Open
#438 2 comments 0 reactions 0 assignees View on GitHub

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’

with GHC 8.4.


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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.