Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type CleanDemand = JointDmd StrDmd UseDmd Source
mkProdDmd :: [Demand] -> CleanDemand Source
mkOnceUsedDmd :: CleanDemand -> Demand Source
mkManyUsedDmd :: CleanDemand -> Demand Source
toCleanDmd :: Demand -> Type -> (DmdShell, CleanDemand) Source
cleanUseDmd_maybe :: Demand -> Maybe UseDmd Source
strictenDmd :: Demand -> CleanDemand Source
bothCleanDmd :: CleanDemand -> CleanDemand -> CleanDemand Source
addCaseBndrDmd :: Demand -> [Demand] -> [Demand] Source
dmdTypeDepth :: DmdType -> Arity Source
lubDmdType :: DmdType -> DmdType -> DmdType Source
bothDmdType :: DmdType -> BothDmdArg -> DmdType Source
removeDmdTyArgs :: DmdType -> DmdType Source
type BothDmdArg = (DmdEnv, Termination ()) Source
mkBothDmdArg :: DmdEnv -> BothDmdArg Source
toBothDmdArg :: DmdType -> BothDmdArg Source
findIdDemand :: DmdType -> Var -> Demand Source
cprProdRes :: [DmdType] -> DmdResult Source
appIsBottom :: StrictSig -> Int -> Bool Source
isBottomingSig :: StrictSig -> Bool Source
pprIfaceStrictSig :: StrictSig -> SDoc Source
mkStrictSig :: DmdType -> StrictSig Source
mkClosedStrictSig :: [Demand] -> DmdResult -> StrictSig Source
cprProdSig :: Arity -> StrictSig Source
splitStrictSig :: StrictSig -> ([Demand], DmdResult) Source
increaseStrictSigArity :: Int -> StrictSig -> StrictSig Source
seqDemandList :: [Demand] -> () Source
seqDmdType :: DmdType -> () Source
seqStrictSig :: StrictSig -> () Source
isStrictDmd :: Demand -> Bool Source
splitDmdTy :: DmdType -> (Demand, DmdType) Source
deferAfterIO :: DmdType -> DmdType Source
postProcessUnsat :: DmdShell -> DmdType -> DmdType Source
postProcessDmdType :: DmdShell -> DmdType -> BothDmdArg Source
splitProdDmd_maybe :: Demand -> Maybe [Demand] Source
peelCallDmd :: CleanDemand -> (CleanDemand, DmdShell) Source
dmdTransformSig :: StrictSig -> CleanDemand -> DmdType Source
dmdTransformDataConSig :: Arity -> StrictSig -> CleanDemand -> DmdType Source
argOneShots :: OneShotInfo -> Demand -> [OneShotInfo] Source
argsOneShots :: StrictSig -> Arity -> [[OneShotInfo]] Source
trimToType :: Demand -> TypeShape -> Demand Source
isUsedOnce :: Demand -> Bool Source
killUsageDemand :: DynFlags -> Demand -> Demand Source
killUsageSig :: DynFlags -> StrictSig -> StrictSig Source
zapUsageDemand :: Demand -> Demand Source
strictifyDictDmd :: Type -> Demand -> Demand Source