Proposal: Add Eq1 and Ord1 instances in GHC.Generics, and synchronize with Data.Functor.* types

Li-yao Xia lysxia at
Sun Feb 25 15:10:20 UTC 2018

Eq1 and Ord1 are two more useful classes to implement in GHC.Generics, 
and would be useful to derive Eq1 and Ord1 generically. Note that we can 
currently use transformers-compat to derive these.

Moreover, most of the GHC.Generics types are equivalent to types in the 
Data.Functor.* modules. Would it be a good idea for them to have the 
same instances? Concretely, the current differences are:

- GHC.Generics is missing Eq1, Ord1, Show1, Read1 instances
- Data.Functor.* is missing Semigroup and Monoid instances (that my 
previous proposal would add to GHC.Generics)


More information about the Libraries mailing list