HORIZON HASKELLDocslts/ghc-10.0.xa8896112026-10-18Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · a889611 · 2026-10-18

Modulederiving-compat-0.6.8Haskell2010

Data.Eq.Deriving.Internal

Exports functions to mechanically derive Eq, 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.

  • 9 values

Eq

3 declarations
valuederiveEq :: Name -> Q [Dec]
#

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

valuemakeEq :: Name -> Q Exp
#

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

valuemakeNotEq :: Name -> Q Exp
#

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

Eq1

3 declarations
valuederiveEq1 :: Name -> Q [Dec]
#

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

valuemakeLiftEq :: Name -> Q Exp
#

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

This function is not available with transformers-0.4.

valuemakeEq1 :: Name -> Q Exp
#

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

Eq2

3 declarations
valuederiveEq2 :: Name -> Q [Dec]
#

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

This function is not available with transformers-0.4.

valuemakeLiftEq2 :: Name -> Q Exp
#

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

This function is not available with transformers-0.4.

valuemakeEq2 :: Name -> Q Exp
#

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

This function is not available with transformers-0.4.