Language.Haskell.TH

# The monad and its operations

data Q a

runQ

report

recover

reify

location

runIO

lookupTypeName

lookupValueName

isInstance

reifyInstances

# Names

data Name

data NameSpace

mkName

newName

nameBase

nameModule

tupleTypeName

tupleDataName

# The algebraic data types

data Dec

data Exp

data Con

data Type

data TyVarBndr

data Kind

type Cxt

data Pred

data Match

data Clause

data Body

data Guard

data Stmt

data Range

data Lit

data Pat

type FieldExp

type FieldPat

data Strict

data Foreign

data Callconv

data Safety

data Pragma

data InlineSpec

data FunDep

data FamFlavour

data Info

data Loc

data Fixity

data FixityDirection

defaultFixity

maxPrecedence

# Library functions

## Abbreviations

type InfoQ

type ExpQ

type DecQ

type DecsQ

type ConQ

type TypeQ

type CxtQ

type PredQ

type MatchQ

type ClauseQ

type BodyQ

type GuardQ

type StmtQ

type RangeQ

type StrictTypeQ

type VarStrictTypeQ

type PatQ

type FieldPatQ

type InlineSpecQ

## Constructors lifted to `Q`

### Literals

intPrimL

wordPrimL

floatPrimL

doublePrimL

integerL

rationalL

charL

stringL

stringPrimL

### Patterns

litP

varP

tupP

conP

uInfixP

parensP

infixP

tildeP

bangP

asP

wildP

recP

listP

sigP

viewP

fieldPat

### Pattern Guards

normalB

guardedB

normalG

normalGE

patG

patGE

match

clause

### Expressions

dyn

global

varE

conE

litE

appE

uInfixE

parensE

infixE

infixApp

sectionL

sectionR

lamE

lam1E

tupE

condE

letE

caseE

appsE

listE

sigE

recConE

recUpdE

stringE

fieldExp

#### Ranges

fromE

fromThenE

fromToE

fromThenToE

#### Ranges with more indirection

arithSeqE

fromR

fromThenR

fromToR

fromThenToR

#### Statements

doE

compE

bindS

letS

noBindS

parS

### Types

forallT

varT

conT

appT

arrowT

listT

tupleT

sigT

#### Strictness

isStrict

notStrict

strictType

varStrictType

#### Class Contexts

cxt

classP

equalP

normalC

recC

infixC

### Top Level Declarations

#### Data

valD

funD

tySynD

dataD

newtypeD

#### Class

classD

instanceD

sigD

#### Type Family / Data Family

familyNoKindD

familyKindD

dataInstD

newtypeInstD

tySynInstD

typeFam

dataFam

#### Foreign Function Interface (FFI)

cCall

stdCall

unsafe

safe

forImpD

#### Pragmas

inlineSpecNoPhase

inlineSpecPhase

pragInlD

pragSpecD

# Pretty-printer

class Ppr a

pprint

pprExp

pprLit

pprPat

pprParendType