CoreSyn

Main data types

data Expr b

type Alt b

data Bind b

data AltCon

type Arg b

data Tickish id

data TickishScoping

data TickishPlacement

type CoreProgram

type CoreExpr

type CoreAlt

type CoreBind

type CoreArg

type CoreBndr

type TaggedExpr t

type TaggedAlt t

type TaggedBind t

type TaggedArg t

data TaggedBndr t

deTagExpr

Expr construction

mkLets

mkLams

mkApps

mkTyApps

mkCoApps

mkVarApps

mkIntLit

mkIntLitInt

mkWordLit

mkWordLitWord

mkWord64LitWord64

mkInt64LitInt64

mkCharLit

mkStringLit

mkFloatLit

mkFloatLitFloat

mkDoubleLit

mkDoubleLitDouble

mkConApp

mkConApp2

mkTyBind

mkCoBind

varToCoreExpr

varsToCoreExprs

isId

cmpAltCon

cmpAlt

ltAlt

Simple Expr access functions and predicates

bindersOf

bindersOfBinds

rhssOfBind

rhssOfAlts

collectBinders

collectTyBinders

collectValBinders

collectTyAndValBinders

collectArgs

collectArgsTicks

flattenBinds

isValArg

isTypeArg

isTyCoArg

valArgCount

valBndrCount

isRuntimeArg

isRuntimeVar

tickishCounts

tickishScoped

tickishScopesLike

tickishFloatable

tickishCanSplit

mkNoCount

mkNoScope

tickishIsCode

tickishPlace

tickishContains

Unfolding data types

data Unfolding

data UnfoldingGuidance

data UnfoldingSource

Constructing Unfoldings

noUnfolding

evaldUnfolding

mkOtherCon

unSaturatedOk

needSaturated

boringCxtOk

boringCxtNotOk

Predicates and deconstruction on Unfolding

unfoldingTemplate

expandUnfolding_maybe

maybeUnfoldingTemplate

otherCons

isValueUnfolding

isEvaldUnfolding

isCheapUnfolding

isExpandableUnfolding

isConLikeUnfolding

isCompulsoryUnfolding

isStableUnfolding

hasStableCoreUnfolding_maybe

isClosedUnfolding

hasSomeUnfolding

canUnfold

neverUnfoldGuidance

isStableSource

Strictness

seqExpr

seqExprs

seqUnfolding

Annotated expression data types

type AnnExpr bndr annot

data AnnExpr' bndr annot

data AnnBind bndr annot

type AnnAlt bndr annot

Operations on annotated expressions

collectAnnArgs

collectAnnArgsTicks

Operations on annotations

deAnnotate

deAnnotate'

deAnnAlt

collectAnnBndrs

Core rule data types

data CoreRule

type RuleName

type RuleFun

type IdUnfoldingFun

type InScopeEnv

Operations on CoreRules

seqRules

ruleArity

ruleName

ruleIdName

ruleActivation

setRuleIdName

isBuiltinRule

isLocalRule

isAutoRule

Core vectorisation declarations data type

data CoreVect