derive-2.5.23: A program and library to derive instances for data types

Safe Haskell | None
Language | Haskell98

Language.Haskell.TH.Data

Description

The core module of the Data.Derive system. This module contains the data types used for communication between the extractors and the derivors.

# Documentation

type DataDef = Dec Source

type CtorDef = Con Source

dataName :: DataDef -> String Source

qualifiedDataName :: DataDef -> Name Source

dataArity :: DataDef -> Int Source

dataArgs :: DataDef -> [Name] Source

dataCtors :: DataDef -> [CtorDef] Source

ctorName :: CtorDef -> String Source

qualifiedCtorName :: CtorDef -> Name Source

ctorArity :: CtorDef -> Int Source

ctorStrictTypes :: CtorDef -> [StrictType] Source

ctorTypes :: CtorDef -> [Type] Source

ctorFields :: CtorDef -> [String] Source

dropModule :: String -> String Source

dropNumber :: String -> String Source

normData :: DataDef -> DataDef Source

unqualifiedName :: Name -> String Source

typeApp :: Type -> (Type, [Type]) Source

eqConT :: String -> Type -> Bool Source

isTupleT :: Type -> Bool Source