deriving-compat-0.5.7: Backports of GHC deriving extensions

Data.Eq.Deriving.Internal

Description

Exports functions to mechanically derive EqClass, Eq1, and Eq2 instances.

Note: this is an internal module, and as such, the API presented here is not guaranteed to be stable, even between minor releases of this library.

Synopsis

EqClass

deriveEq :: Name -> Q [Dec] Source #

Generates an EqClass instance declaration for the given data type or data family instance.

Generates a lambda expression which behaves like '(==)' (without requiring an EqClass instance).

Generates a lambda expression which behaves like '(/=)' (without requiring an EqClass instance).

Eq1

deriveEq1 :: Name -> Q [Dec] Source #

Generates an Eq1 instance declaration for the given data type or data family instance.

Generates a lambda expression which behaves like liftEq (without requiring an Eq1 instance).

This function is not available with transformers-0.4.

Generates a lambda expression which behaves like eq1 (without requiring an Eq1 instance).

Eq2

deriveEq2 :: Name -> Q [Dec] Source #

Generates an Eq2 instance declaration for the given data type or data family instance.

This function is not available with transformers-0.4.

Generates a lambda expression which behaves like liftEq2 (without requiring an Eq2 instance).

This function is not available with transformers-0.4.

Generates a lambda expression which behaves like eq2 (without requiring an Eq2 instance).

This function is not available with transformers-0.4.