CoreMonad

# Configuration of the core-to-core passes

data CoreToDo

runWhen

runMaybe

data SimplifierMode

data FloatOutSwitches

pprPassDetails

# Plugins

type PluginPass

bindsOnlyPass

# Counting

data SimplCount

doSimplTick

doFreeSimplTick

simplCountN

pprSimplCount

plusSimplCount

zeroSimplCount

isZeroSimplCount

hasDetailedCounts

data Tick

# The monad

data CoreM a

runCoreM

## Reading from the monad

getHscEnv

getRuleBase

getModule

getDynFlags

getOrigNameCache

getPackageFamInstEnv

getVisibleOrphanMods

getPrintUnqualified

getSrcSpanM

## Writing to the monad

addSimplCount

## Lifting into the monad

liftIO

liftIOWithCount

liftIO1

liftIO2

liftIO3

liftIO4

## Global initialization

reinitializeGlobals

## Dealing with annotations

getAnnotations

getFirstAnnotations

## Screen output

putMsg

putMsgS

errorMsg

errorMsgS

warnMsg

fatalErrorMsg

fatalErrorMsgS

debugTraceMsg

debugTraceMsgS

dumpIfSet_dyn

# Getting `Name`s

thNameToGhcName