HscTypes

# `Ghc` monad stuff

data Ghc a

data GhcT m a

liftGhcT

class GhcMonad m

class WarnLogMonad m

liftIO

ioMsgMaybe

ioMsg

logWarnings

clearWarnings

hasWarnings

data SourceError

data GhcApiError

mkSrcErr

srcErrorMessages

mkApiErr

throwOneError

handleSourceError

reflectGhc

reifyGhc

handleFlagWarnings

# Sessions and compilation state

data Session

withSession

modifySession

withTempSession

data HscEnv

hscEPS

type FinderCache

data FindResult

type ModLocationCache

data Target

data TargetId

pprTarget

pprTargetId

type ModuleGraph

emptyMG

## Callbacks

data GhcApiCallbacks

withLocalCallbacks

# Information about modules

data ModDetails

emptyModDetails

data ModGuts

data CoreModule

data CgGuts

data ForeignStubs

type ImportedMods

data ModSummary

ms_mod_name

showModMsg

isBootSummary

msHsFilePath

msHiFilePath

msObjFilePath

# Information about the module being compiled

data HscSource

isHsBoot

hscSourceString

# State relating to modules in this package

type HomePackageTable

data HomeModInfo

emptyHomePackageTable

hptInstances

hptRules

hptVectInfo

# State relating to known packages

data ExternalPackageState

data EpsStats

addEpsInStats

type PackageTypeEnv

type PackageIfaceTable

emptyPackageIfaceTable

lookupIfaceByModule

emptyModIface

type PackageInstEnv

type PackageRuleBase

# Annotations

prepareAnnotations

# Interactive context

data InteractiveContext

emptyInteractiveContext

icPrintUnqual

extendInteractiveContext

substInteractiveContext

mkPrintUnqualified

pprModulePrefix

# Interfaces

data ModIface

mkIfaceWarnCache

mkIfaceHashCache

mkIfaceFixCache

emptyIfaceWarnCache

# Fixity

type FixityEnv

data FixItem

lookupFixity

emptyFixityEnv

# TyThings and type environments

data TyThing

tyThingClass

tyThingTyCon

tyThingDataCon

tyThingId

implicitTyThings

isImplicitTyThing

type TypeEnv

lookupType

lookupTypeHscEnv

mkTypeEnv

emptyTypeEnv

extendTypeEnv

extendTypeEnvList

extendTypeEnvWithIds

lookupTypeEnv

typeEnvElts

typeEnvClasses

typeEnvTyCons

typeEnvIds

typeEnvDataCons

# MonadThings

class MonadThings m

# Information on imports and exports

type WhetherHasOrphans

type IsBootInterface

data Usage

data Dependencies

noDependencies

data NameCache

type OrigNameCache

type OrigIParamCache

type Avails

availsToNameSet

availsToNameEnv

availName

availNames

data GenAvailInfo name

type AvailInfo

type RdrAvailInfo

type IfaceExport

# Warnings

data Warnings

data WarningTxt

plusWarns

# Linker stuff

data Linkable

isObjectLinkable

data Unlinked

data CompiledByteCode

isObject

nameOfObject

isInterpretable

byteCodeOfObject

# Program coverage

data HpcInfo

emptyHpcInfo

isHpcUsed

type AnyHpcUsage

# Breakpoints

data ModBreaks

type BreakIndex

emptyModBreaks

# Vectorisation information

data VectInfo

data IfaceVectInfo

noVectInfo

plusVectInfo

noIfaceVectInfo