Type-class and type-function instances

This page collects pointers to stuff about type-class, and type function, instances. Especially things to do with overlap.

But not 'deriving'; there's a separate page for that


Use Keyword = Instances to ensure that a ticket ends up on these lists.

Open Tickets:

:info printing instances often isn't wanted
Type family instance overlap accepted in ghci
GHC chooses an instance between two overlapping, but cannot resolve a clause within the similar closed type family
feature: warn about unused data definitions (with typeclass instances)
Incorrect constraints given single flexible undecidable instance.
Faulty instance termination check, with PolyKinds and/or TypeInType
Deriving via DeriveAnyClass not behaving the same as an emply instance declaration
Undependable Dependencies
Unable to match instance signatures

Closed Tickets:

deriving for GRose
Confluent type family instances confuse the solver
Require XOverlappingInstances for the most specific instance only
ghc panic: varargs + sets
Associated Type Synonyms do not unfold in InstanceSigs
GHC accepts overly general instance sigs
Wrong instance selection with overlapping instance in a superclass
Weird type constraint with undecidable instances
Unfortunate compiler loop when creating type loop (with UndecidableInstances)
InstanceSigs fails
Renamer hangs (because of -XInstanceSigs?)

Last modified 20 months ago Last modified on May 23, 2018 2:23:58 PM