derive-gadt-0.1.1: Instance deriving for (a subset of) GADTs.
Source code
Contents
Index
Language.Haskell.Derive.Gadt.Common
Documentation
data
GadtInfo
Source
Constructors
GadtInfo
gadtName
::
Name
gadtArity
::
Int
gadtCons
:: [
GadtConInfo
]
Instances
Show
GadtInfo
data
GadtConInfo
Source
Constructors
GadtConInfo
gadtConName
::
Name
gadtConType
::
Type
gadtConArgs
:: [
Type
]
gadtConBound
:: [
Name
]
gadtConFree
:: [
Name
]
Instances
Show
GadtConInfo
instanceGroups
::
GadtInfo
-> [(
Type
, [(
Name
,
Int
)])]
Source
groupCons
::
GadtInfo
-> [(
Name
, [
Name
])]
Source
unifiedGroups
:: [
GadtConInfo
] -> [(
Name
, [(
Name
, (
Substs
,
Substs
))])]
Source
isExistential
::
GadtConInfo
->
Bool
Source
existentials
::
GadtConInfo
-> [
Name
]
Source
gadtInfo
::
Decl
-> [
GadtInfo
]
Source
gadtConInfo
::
GadtDecl
->
GadtConInfo
Source
arityGadt
:: [
TyVarBind
] ->
Maybe
Kind
->
Int
Source
parseModuleGadts
::
String
->
Either
String
[
GadtInfo
]
Source
kindArity
::
Kind
->
Int
Source
tvbName
::
TyVarBind
->
Name
Source
unwindType
::
Type
-> (
Type
, [
Type
])
Source
splitTypeApps
::
Type
-> (
Type
, [
Type
])
Source
isTyVar
::
Type
->
Bool
Source
getTopTyVars
:: [
Type
] -> [(
Name
,
Int
)]
Source
ftvs
::
Type
->
Set
Name
Source
isMono
::
Type
->
Bool
Source
srcExtsTypeToUnifyType
::
Type
->
Type
Source
myParseType
::
String
->
Type
Source
nameToUName
::
Name
->
Name
Source
qnameToUName
::
QName
->
Name
Source
myParseModule
::
String
->
Either
String
Module
Source
myParseMode
::
ParseMode
Source
myExtensions
:: [
Extension
]
Source
mkFunD
::
Name
-> [
Pat
] ->
Exp
->
Dec
Source
mkClauseQ
:: [
PatQ
] ->
ExpQ
->
ClauseQ
Source
Produced by
Haddock
version 2.4.2