GHC

# Initialisation

defaultErrorHandler

defaultCleanupHandler

# GHC Monad

data Ghc a

data GhcT m a

class GhcMonad m

runGhc

runGhcT

initGhcMonad

gcatch

gbracket

gfinally

clearWarnings

getWarnings

hasWarnings

printExceptionAndWarnings

printWarnings

handleSourceError

defaultCallbacks

data GhcApiCallbacks

needsTemplateHaskell

# Flags and settings

data DynFlags

data DynFlag

data Severity

data HscTarget

dopt

data GhcMode

data GhcLink

defaultObjectTarget

parseDynamicFlags

getSessionDynFlags

setSessionDynFlags

parseStaticFlags

# Targets

data Target

data TargetId

data Phase

setTargets

getTargets

addTarget

removeTarget

guessTarget

# Loading/compiling the program

depanal

load

loadWithLogger

data LoadHowMuch

data SuccessFlag

succeeded

failed

defaultWarnErrLogger

type WarnErrLogger

workingDirectoryChanged

parseModule

typecheckModule

desugarModule

loadModule

data ParsedModule

data TypecheckedModule

data DesugaredModule

type TypecheckedSource

type ParsedSource

type RenamedSource

class TypecheckedMod m

class ParsedMod m

coreModule

compileToCoreModule

compileToCoreSimplified

compileCoreToObj

getModSummary

# Inspecting the module structure of the program

type ModuleGraph

data ModSummary

ms_mod_name

data ModLocation

getModuleGraph

isLoaded

topSortModuleGraph

# Inspecting modules

data ModuleInfo

getModuleInfo

modInfoTyThings

modInfoTopLevelScope

modInfoExports

modInfoInstances

modInfoIsExportedName

modInfoLookupName

lookupGlobalName

findGlobalAnns

mkPrintUnqualifiedForModule

# Querying the environment

packageDbModules

# Printing

type PrintUnqualified

alwaysQualify

# Interactive evaluation

getBindings

getPrintUnqual

findModule

lookupModule

lookupName

# Abstract syntax elements

## Packages

data PackageId

## Modules

data Module

mkModule

pprModule

moduleName

modulePackageId

data ModuleName

mkModuleName

moduleNameString

## Names

data Name

isExternalName

nameModule

pprParenSymName

nameSrcSpan

class NamedThing a

data RdrName

## Identifiers

type Id

idType

isImplicitId

isDeadBinder

isExportedId

isLocalId

isGlobalId

isRecordSelector

isPrimOpId

isFCallId

isClassOpId_maybe

isDataConWorkId

idDataCon

isBottomingId

isDictonaryId

recordSelectorFieldLabel

## Type constructors

data TyCon

tyConTyVars

tyConDataCons

tyConArity

isClassTyCon

isSynTyCon

isNewTyCon

isPrimTyCon

isFunTyCon

isFamilyTyCon

synTyConDefn

synTyConType

synTyConResKind

## Type variables

type TyVar

alphaTyVars

## Data constructors

data DataCon

dataConSig

dataConType

dataConTyCon

dataConFieldLabels

dataConIsInfix

isVanillaDataCon

dataConUserType

dataConStrictMarks

data StrictnessMark

isMarkedStrict

## Classes

data Class

classMethods

classSCTheta

classTvsFds

pprFundeps

## Instances

data Instance

instanceDFunId

pprInstance

pprInstanceHdr

## Types and Kinds

data Type

splitForAllTys

funResultTy

pprParendType

pprTypeApp

type Kind

data PredType

type ThetaType

pprForAll

pprThetaArrow

## Entities

data TyThing

## Syntax

## Fixities

data FixityDirection

defaultFixity

maxPrecedence

negateFixity

compareFixity

## Source locations

data SrcLoc

pprDefnLoc

mkSrcLoc

isGoodSrcLoc

noSrcLoc

srcLocFile

srcLocLine

srcLocCol

data SrcSpan

mkSrcSpan

srcLocSpan

isGoodSrcSpan

noSrcSpan

srcSpanStart

srcSpanEnd

srcSpanFile

srcSpanStartLine

srcSpanEndLine

srcSpanStartCol

srcSpanEndCol

## Located

data Located e

### Constructing Located

noLoc

mkGeneralLocated

### Deconstructing Located

getLoc

unLoc

### Combining and comparing Located values

eqLocated

cmpLocated

combineLocs

addCLoc

leftmost_smallest

leftmost_largest

rightmost

spans

isSubspanOf

# Exceptions

data GhcException

showGhcException

# Token stream manipulations

data Token

getTokenStream

getRichTokenStream

showRichTokenStream

addSourceToTokens

# Miscellaneous

cyclicModuleErr