generic-deriving-1.4.0: Generic programming library for generalised deriving.

Portabilitynon-portable
Stabilityexperimental
Maintainergenerics@haskell.org
Safe HaskellNone

Generics.Deriving.TH

Description

This module contains Template Haskell code that can be used to automatically generate the boilerplate code for the generic deriving library. For now, it generates only the Generic instance. Empty datatypes are not yet supported.

Synopsis

Documentation

deriveMeta :: Name -> Q [Dec]

Given the type and the name (as string) for the type to derive, generate the Data instance, the Constructor instances, and the Selector instances.

deriveData :: Name -> Q [Dec]

Given a datatype name, derive a datatype and instance of class Datatype.

deriveConstructors :: Name -> Q [Dec]

Given a datatype name, derive datatypes and instances of class Constructor.

deriveSelectors :: Name -> Q [Dec]

Given a datatype name, derive datatypes and instances of class Selector.