-- The OccEnv type
OccEnv, emptyOccEnv, unitOccEnv, extendOccEnv, mapOccEnv,
- lookupOccEnv, mkOccEnv, extendOccEnvList, elemOccEnv,
+ lookupOccEnv, mkOccEnv, mkOccEnv_C, extendOccEnvList, elemOccEnv,
occEnvElts, foldOccEnv, plusOccEnv, plusOccEnv_C, extendOccEnv_C,
-- The OccSet type
extendOccEnvList :: OccEnv a -> [(OccName, a)] -> OccEnv a
lookupOccEnv :: OccEnv a -> OccName -> Maybe a
mkOccEnv :: [(OccName,a)] -> OccEnv a
+mkOccEnv_C :: (a -> a -> a) -> [(OccName,a)] -> OccEnv a
elemOccEnv :: OccName -> OccEnv a -> Bool
foldOccEnv :: (a -> b -> b) -> b -> OccEnv a -> b
occEnvElts :: OccEnv a -> [a]
extendOccEnv_C = addToUFM_C
mapOccEnv = mapUFM
+mkOccEnv_C comb l = addListToUFM_C comb emptyOccEnv l
+
type OccSet = UniqFM OccName
emptyOccSet :: OccSet
$w... workers
:T... compiler-generated tycons for dictionaries
:D... ...ditto data cons
+ :Co... ...ditto coercions
$sf.. specialised version of f
in encoded form these appear as Zdfxxx etc