Skip to content

Missing Instances & Cleanup#472

Draft
L0neGamer wants to merge 16 commits intonick8325:masterfrom
L0neGamer:missing-instances
Draft

Missing Instances & Cleanup#472
L0neGamer wants to merge 16 commits intonick8325:masterfrom
L0neGamer:missing-instances

Conversation

@L0neGamer
Copy link
Copy Markdown

@L0neGamer L0neGamer commented Feb 23, 2026

Investigating cleaning up and mapping out CPP in Arbitrary module (#463 (comment)), as well as looking at #459

Progress on #459 (copy across instances in https://github.com/haskellari/qc-instances/tree/master/src/Test/QuickCheck/Instances):

y Array
y ByteString
n CaseInsensitive -- too old
x Containers
g DataFix
g Hashable
x Natural
g OldTime
x Primitive
g Scientific
  Semigroup
  Solo
  Strict
  Tagged
  Text
  These
  Time
  Transformer
  UUID
  UnorderedContainers
  Vector
  Void
  
key:
y - ported for GHC and mhs
n - did not port due to reason
x - empty or already complete
g - ghc only because of mhs error

@L0neGamer L0neGamer marked this pull request as draft February 23, 2026 23:39
@L0neGamer
Copy link
Copy Markdown
Author

@MaximilianAlgehed in ee851a6 I remove a bunch of ifdef CPP pragmas. I'm not sure what they're for, and I'm struggling to get mhs and hugs (!!) working on this repo locally, so I'd appreciate if you could set the CI rolling.

@L0neGamer L0neGamer force-pushed the missing-instances branch 2 times, most recently from 3c3a79b to 9a408a2 Compare March 2, 2026 23:26
L0neGamer added 15 commits March 2, 2026 23:27
when running things locally this function was just failing at compile time with no elaboration
also try to group imports sensibly.
could not build for mhs, see below:

```
mhs: uncaught exception: error: "src/Data/Fix.hs": line 200, col 24: Cannot satisfy constraint: (Eq (f (Fix f)))
     fully qualified: (Data.Eq.Eq (f (Data.Fix.Fix f)))
```
mhs's hashable doesn't have Hashed?
many errors when building old-locale, see below for example
```
error: Time.hsc:380:2: error: #error "Don't know how to get at timezone name on your OS."
```
mhs can't build `binary-0.8.9.3`, which is a dependency
@L0neGamer
Copy link
Copy Markdown
Author

@MaximilianAlgehed before I continue work on this, is any of this likely to get merged? I'm happy to continue mechanically adding instances from qc-instances if that matches what you want from QuickCheck, but I won't bother if this won't make it in.

@MaximilianAlgehed
Copy link
Copy Markdown
Collaborator

@L0neGamer sorry for taking so long to respond to this. There has been some politics.

The policy we are going to have moving forward is to support any instance that's in a supported version of base and whatever compat packages are necessary to make that work. @phadej knows what compatibility packages are relevant.

I was hoping this wouldn't be the case. My opinions on compat packages have been documented elsewhere.

With that in mind, please continue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants