Language.Haskell.Tools.AST.ElementTypes

type AnnList node dom

type AnnMaybe node dom

Modules

type Module dom

type ModuleHead dom

type ExportSpecs dom

type ExportSpec dom

type IESpec dom

type SubSpec dom

type ModulePragma dom

type FilePragma dom

type ImportDecl dom

type ImportSpec dom

type ImportQualified dom

type ImportSource dom

type ImportSafe dom

type TypeNamespace dom

type ImportRenaming dom

type ModuleName dom

type LanguageExtension dom

Declarations

type Decl dom

type ClassBody dom

type ClassElement dom

type DeclHead dom

type InstBody dom

type InstBodyDecl dom

type GadtConDecl dom

type GadtConType dom

type FieldWildcard dom

type FunDeps dom

type FunDep dom

type ConDecl dom

type DataOrNewtypeKeyword dom

type FieldDecl dom

type Deriving dom

type InstanceRule dom

type InstanceHead dom

type OverlapPragma dom

type TypeEqn dom

type TopLevelPragma dom

type Rule dom

type RuleVar dom

type AnnotationSubject dom

type MinimalFormula dom

type SourceRange dom

type TypeFamily dom

type TypeFamilySpec dom

type InjectivityAnn dom

type PatternSynonym dom

type PatSynRhs dom

type PatSynLhs dom

type PatSynWhere dom

type PatternSignature dom

type Role dom

type CallConv dom

type Safety dom

type ConlikeAnnot dom

type PhaseControl dom

Binds

type ValueBind dom

type Match dom

type MatchLhs dom

type Rhs dom

type GuardedRhs dom

type RhsGuard dom

type LocalBind dom

type LocalBinds dom

type FixitySignature dom

type TypeSignature dom

Types

type Type dom

type TyVar dom

type Context dom

type Assertion dom

Kinds

type KindConstraint dom

type Kind dom

type PromotedKind dom

Expressions

type Expr dom

type Alt dom

type CaseRhs dom

type GuardedCaseRhs dom

type FieldUpdate dom

type TupSecElem dom

type ExprPragma dom

type Cmd dom

type CmdAlt dom

type ArrowApp dom

Statements

type Stmt dom

type DoKind dom

type CompStmt dom

type ListCompBody dom

type CmdStmt dom

Patterns

type Pattern dom

type PatternField dom

Template Haskell

type Splice dom

type Bracket dom

type QuasiQuote dom

Literals

type Literal dom

Names

type Operator dom

type Name dom

type QualifiedName dom

type NamePart dom

type StringNode dom

Optional AST elements

type MaybeContext dom

type MaybeDeriving dom

type MaybeLocalBinds dom

type MaybeTypeFamilySpec dom

type MaybeKindConstraint dom

type MaybeClassBody dom

type MaybeInstBody dom

type MaybeExpr dom

type MaybeExportSpecs dom

type MaybeImportQualified dom

type MaybeImportSource dom

type MaybeImportSafe dom

type MaybeImportSpec dom

type MaybeModuleHead dom

type MaybeModulePragma dom

type MaybeSubSpec dom

type MaybeStringNode dom

type MaybeImportRenaming dom

type MaybeSafety dom

type MaybePhaseControl dom

type MaybeConlikeAnnot dom

type MaybeFunDeps dom

AST elements with multiplicity

type MatchList dom

type DeclList dom

type PatternList dom

type OperatorList dom

type NameList dom

type LocalBindList dom

type IESpecList dom

type RhsGuardList dom

type GuardedRhsList dom

type GuardedCaseRhsList dom

type ConDeclList dom

type TypeEqnList dom

type TypeList dom

type FieldDeclList dom

type ExprList dom

type FieldUpdateList dom

type GadtConDeclList dom

type ClassElementList dom

type InstBodyDeclList dom

type InstanceHeadList dom

type AltList dom

type StmtList dom

type KindList dom

type TyVarList dom

type ListCompBodyList dom

type ExportSpecList dom

type FilePragmaList dom

type ImportDeclList dom

type PatternFieldList dom

type AssertionList dom

type CompStmtList dom

type RuleList dom

type RuleVarList dom

type RoleList dom

type MinimalFormulaList dom

type FunDepList dom

type TupSecElemList dom

type CmdList dom

type CmdAltList dom

type CmdStmtList dom

type LanguageExtensionList dom

type StringNodeList dom

type NamePartList dom