@hackage generic-constraints1.1.1.1

Constraints via Generic

Standalone deriving without boiler-plate

Write short and concise contexts based on generics.

Instead of writing boiler-plate standalone deriving clauses in the form of

deriving instance [Various Eq Constraints Here] => Instance Eq MyType

With generic-constraints you can use

deriving instance Constraints MyType Eq => Eq MyType

Or, using TH, simply

makeDeriving ''Eq ''MyType

And for several classes and types:

makeDerivings [''Eq, ''Ord, ''Show] [''MyType, ''MyOtherType]

Credits

This library was extracted from the one-liner library by Sjoerd Visscher and Xia Li-yao.