Id

The main types

data Var

type Id

isId

Simple construction

mkGlobalId

mkVanillaGlobal

mkVanillaGlobalWithInfo

mkLocalId

mkLocalCoVar

mkLocalIdOrCoVar

mkLocalIdOrCoVarWithInfo

mkLocalIdWithInfo

mkExportedLocalId

mkExportedVanillaId

mkSysLocal

mkSysLocalM

mkSysLocalOrCoVar

mkSysLocalOrCoVarM

mkUserLocal

mkUserLocalOrCoVar

mkTemplateLocals

mkTemplateLocalsNum

mkTemplateLocal

mkWorkerId

Taking an Id apart

idName

idType

idUnique

idInfo

idDetails

idRepArity

recordSelectorTyCon

Modifying an Id

setIdName

setIdUnique

setIdType

setIdExported

setIdNotExported

globaliseId

localiseId

setIdInfo

lazySetIdInfo

modifyIdInfo

maybeModifyIdInfo

zapLamIdInfo

zapIdDemandInfo

zapIdUsageInfo

zapFragileIdInfo

zapIdStrictness

transferPolyIdInfo

Predicates on Ids

isImplicitId

isDeadBinder

isStrictId

isExportedId

isLocalId

isGlobalId

isRecordSelector

isNaughtyRecordSelector

isPatSynRecordSelector

isDataConRecordSelector

isClassOpId_maybe

isDFunId

isPrimOpId

isPrimOpId_maybe

isFCallId

isFCallId_maybe

isDataConWorkId

isDataConWorkId_maybe

isDataConId_maybe

idDataCon

isConLikeId

isBottomingId

idIsFrom

hasNoBinding

Evidence variables

type DictId

isDictId

isEvVar

Inline pragma stuff

idInlinePragma

setInlinePragma

modifyInlinePragma

idInlineActivation

setInlineActivation

idRuleMatchInfo

One-shot lambdas

isOneShotBndr

isOneShotLambda

isProbablyOneShotLambda

setOneShotLambda

clearOneShotLambda

updOneShotInfo

setIdOneShotInfo

isStateHackType

stateHackOneShot

typeOneShot

Reading IdInfo fields

idArity

idCallArity

idUnfolding

realIdUnfolding

idSpecialisation

idCoreRules

idHasRules

idCafInfo

idOneShotInfo

idOccInfo

Writing IdInfo fields

setIdUnfoldingLazily

setIdUnfolding

setIdArity

setIdCallArity

setIdSpecialisation

setIdCafInfo

setIdOccInfo

zapIdOccInfo

setIdDemandInfo

setIdStrictness

idDemandInfo

idStrictness