ghc-7.10.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

Demand

Documentation

data UseDmd

Constructors

UCall Count UseDmd 
UProd [MaybeUsed] 
UHead 
Used 

data Count

Constructors

One 
Many 

type Demand = JointDmd

mkProdDmd :: [JointDmd] -> CleanDemand

mkOnceUsedDmd :: CleanDemand -> JointDmd

mkManyUsedDmd :: CleanDemand -> JointDmd

oneifyDmd :: JointDmd -> JointDmd

toCleanDmd :: Demand -> Type -> (CleanDemand, DeferAndUseM)

absDmd :: JointDmd

topDmd :: JointDmd

botDmd :: JointDmd

seqDmd :: JointDmd

lubDmd :: JointDmd -> JointDmd -> JointDmd

bothDmd :: JointDmd -> JointDmd -> JointDmd

isTopDmd :: JointDmd -> Bool

isBotDmd :: JointDmd -> Bool

isAbsDmd :: JointDmd -> Bool

isSeqDmd :: JointDmd -> Bool

strictenDmd :: JointDmd -> CleanDemand

type BothDmdArg = (DmdEnv, Termination ())

type DmdResult = Termination CPRResult

seqDemand :: JointDmd -> ()

seqDemandList :: [JointDmd] -> ()

evalDmd :: JointDmd

postProcessUnsat :: DeferAndUse -> DmdType -> DmdType

postProcessDmdTypeM :: DeferAndUseM -> DmdType -> BothDmdArg

splitProdDmd_maybe :: JointDmd -> Maybe [JointDmd]

peelCallDmd :: CleanDemand -> (CleanDemand, DeferAndUse)

argOneShots :: OneShotInfo -> JointDmd -> [OneShotInfo]

trimToType :: JointDmd -> TypeShape -> JointDmd

isSingleUsed :: JointDmd -> Bool