GHC

# Initialisation

defaultErrorHandler

defaultCleanupHandler

prettyPrintGhcErrors

# GHC Monad

data Ghc a

data GhcT m a

class GhcMonad m

data HscEnv

runGhc

runGhcT

initGhcMonad

gcatch

gbracket

gfinally

printException

printExceptionAndWarnings

handleSourceError

needsTemplateHaskell

# Flags and settings

data DynFlags

data DynFlag

data Severity

data HscTarget

dopt

data GhcMode

data GhcLink

defaultObjectTarget

parseDynamicFlags

getSessionDynFlags

setSessionDynFlags

getProgramDynFlags

setProgramDynFlags

getInteractiveDynFlags

setInteractiveDynFlags

parseStaticFlags

# Targets

data Target

data TargetId

data Phase

setTargets

getTargets

addTarget

removeTarget

guessTarget

# Loading/compiling the program

depanal

load

data LoadHowMuch

data InteractiveImport

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

## Compiling to Core

data CoreModule

compileToCoreModule

compileToCoreSimplified

compileCoreToObj

# Inspecting the module structure of the program

type ModuleGraph

data ModSummary

ms_mod_name

data ModLocation

getModSummary

getModuleGraph

isLoaded

topSortModuleGraph

# Inspecting modules

data ModuleInfo

getModuleInfo

modInfoTyThings

modInfoTopLevelScope

modInfoExports

modInfoInstances

modInfoIsExportedName

modInfoLookupName

modInfoIface

modInfoSafe

lookupGlobalName

findGlobalAnns

mkPrintUnqualifiedForModule

data ModIface

data SafeHaskellMode

# Querying the environment

packageDbModules

# Printing

type PrintUnqualified

alwaysQualify

# Interactive evaluation

getBindings

getInsts

getPrintUnqual

findModule

lookupModule

isModuleTrusted

moduleTrustReqs

setContext

getContext

getNamesInScope

getRdrNamesInScope

getGRE

moduleIsInterpreted

getInfo

exprType

typeKind

parseName

data RunResult

runStmt

runStmtWithLocation

runDecls

runDeclsWithLocation

parseImportDecl

data SingleStep

resume

data Resume

data History

getHistorySpan

getHistoryModule

getResumeContext

abandon

abandonAll

back

forward

showModule

isModuleInterpreted

compileExpr

data HValue

dynCompileExpr

obtainTermFromId

obtainTermFromVal

reconstructType

modInfoModBreaks

data ModBreaks

type BreakIndex

data BreakInfo

data BreakArray

setBreakOn

setBreakOff

getBreak

lookupName

## EXPERIMENTAL

setGHCiMonad

# 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

tyConClass_maybe

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

classATs

pprFundeps

## Instances

data ClsInst

instanceDFunId

pprInstance

pprInstanceHdr

pprFamInst

pprFamInstHdr

## Types and Kinds

data Type

splitForAllTys

funResultTy

pprParendType

pprTypeApp

type Kind

type PredType

type ThetaType

pprForAll

pprThetaArrowTy

## Entities

data TyThing

## Syntax

## Fixities

data FixityDirection

defaultFixity

maxPrecedence

negateFixity

compareFixity

## Source locations

data SrcLoc

data RealSrcLoc

mkSrcLoc

noSrcLoc

srcLocFile

srcLocLine

srcLocCol

data SrcSpan

data RealSrcSpan

mkSrcSpan

srcLocSpan

isGoodSrcSpan

noSrcSpan

srcSpanStart

srcSpanEnd

srcSpanFile

srcSpanStartLine

srcSpanEndLine

srcSpanStartCol

srcSpanEndCol

## Located

data GenLocated l e

type 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

# Pure interface to the parser

parser

# Miscellaneous

cyclicModuleErr