1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
3 import BasicLit(BasicLit)
4 import CoreSyn(CoreAtom, CoreBinding, CoreCaseAlternatives, CoreExpr)
5 import CostCentre(CostCentre)
7 import IdEnv(IdEnv(..))
8 import IdInfo(Demand, StrictnessInfo)
10 import Outputable(Outputable)
11 import PlainCore(PlainCoreExpr(..))
12 import PrimOps(PrimOp)
14 import UniType(UniType)
17 data AbsVal = AbsTop | AbsBot | AbsProd [AbsVal] | AbsFun [Id] (CoreExpr Id Id) AbsValEnv | AbsApproxFun [Demand]
19 type AbsenceEnv = AbsValEnv
20 data AnalysisKind = StrAnal | AbsAnal
23 type IdEnv a = UniqFM a
25 type PlainCoreExpr = CoreExpr Id Id
26 type StrAnalFlags = (Bool, Bool)
27 type StrictEnv = AbsValEnv
30 absValFromStrictness :: AnalysisKind -> StrictnessInfo -> AbsVal
31 addOneToAbsValEnv :: AbsValEnv -> Id -> AbsVal -> AbsValEnv
32 getStrAnalFlags :: AbsValEnv -> (Bool, Bool)
33 growAbsValEnvList :: AbsValEnv -> [(Id, AbsVal)] -> AbsValEnv
34 lookupAbsValEnv :: AbsValEnv -> Id -> Labda AbsVal
35 nullAbsValEnv :: (Bool, Bool) -> AbsValEnv
36 instance Outputable AbsVal
37 instance Text AnalysisKind