CoreUtils

Constructing expressions

mkCast

mkTick

mkTickNoHNF

tickHNFArgs

bindNonRec

needsCaseBinding

mkAltExpr

Taking expressions apart

findDefault

findAlt

isDefaultAlt

mergeAlts

trimConArgs

filterAlts

Properties of expressions

exprType

coreAltType

coreAltsType

exprIsDupable

exprIsTrivial

getIdFromTrivialExpr

exprIsBottom

exprIsCheap

exprIsExpandable

exprIsCheap'

type CheapAppFun

exprIsHNF

exprOkForSpeculation

exprOkForSideEffects

exprIsWorkFree

exprIsBig

exprIsConLike

rhsIsStatic

isCheapApp

isExpandableApp

Expression and bindings size

coreBindsSize

exprSize

data CoreStats

coreBindsStats

Equality

cheapEqExpr

eqExpr

eqExprX

Eta reduction

tryEtaReduce

Manipulating data constructors and types

applyTypeToArgs

applyTypeToArg

dataConRepInstPat

dataConRepFSInstPat