Language.Haskell.Tools.AST.Gen.Decls

mkTypeDecl

mkStandaloneDeriving

mkFixityDecl

mkDefaultDecl

mkTypeSigDecl

mkValueBinding

mkSpliceDecl

Data type definitions

mkDataDecl

mkGADTDataDecl

mkGadtConDecl

mkGadtRecordConDecl

mkConDecl

mkRecordConDecl

mkInfixConDecl

mkFieldDecl

mkDeriving

mkDataKeyword

mkNewtypeKeyword

Class declarations

mkClassDecl

mkClassBody

mkClassElemSig

mkClassElemDef

mkClassElemTypeFam

mkClassElemDataFam

mkClsDefaultType

mkClsDefaultSig

mkFunDep

mkClsMinimal

mkMinimalName

mkMinimalParen

mkMinimalOr

mkMinimalAnd

Declaration heads

mkNameDeclHead

mkParenDeclHead

mkDeclHeadApp

mkInfixDeclHead

Type class instance declarations

mkInstanceDecl

mkInstanceRule

mkInstanceHead

mkInfixInstanceHead

mkParenInstanceHead

mkAppInstanceHead

mkInstanceBody

mkInstanceBind

mkInstanceTypeSig

mkInstanceTypeFamilyDef

mkInstanceDataFamilyDef

mkInstanceDataFamilyGADTDef

mkInstanceSpecializePragma

mkEnableOverlap

mkDisableOverlap

mkOverlappable

mkOverlapping

mkOverlaps

mkIncoherentOverlap

Type roles

mkRoleDecl

mkNominalRole

mkRepresentationalRole

mkPhantomRole

Foreign imports and exports

mkForeignImport

mkForeignExport

mkStdCall

mkCCall

mkCApi

mkUnsafe

Type and data families

mkTypeFamily

mkClosedTypeFamily

mkDataFamily

mkTypeFamilyKindSpec

mkTypeFamilyInjectivitySpec

mkTypeEqn

mkTypeInstance

mkDataInstance

mkGadtDataInstance

Pattern synonyms

mkPatternSynonym

mkConPatSyn

mkInfixPatSyn

mkRecordPatSyn

mkSymmetricPatSyn

mkOneWayPatSyn

mkTwoWayPatSyn

mkPatternSignatureDecl

mkPatternSignature

Top level pragmas

mkPragmaDecl

mkRulePragma

mkDeprPragma

mkWarningPragma

mkAnnPragma

mkInlinePragma

mkNoInlinePragma

mkInlinablePragma

mkLinePragma

mkSpecializePragma

mkPhaseControlFrom

mkPhaseControlUntil

mkRewriteRule

mkRuleVar

mkNameAnnotation

mkTypeAnnotation

mkModuleAnnotation

mkConlikeAnnotation