X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FbasicTypes%2FNameEnv.lhs;h=537e597b7fb8dddaabf2f9211bd69f3b30242022;hb=4e3255388e8b99ccdae290bfcb6cd666b8c93d4a;hp=ab0db1e7a57a1017ad19fdafc36b7a511c0819f1;hpb=d32c5227315009f38355fe3233f0f4e5b1f61dc6;p=ghc-hetmet.git diff --git a/ghc/compiler/basicTypes/NameEnv.lhs b/ghc/compiler/basicTypes/NameEnv.lhs index ab0db1e..537e597 100644 --- a/ghc/compiler/basicTypes/NameEnv.lhs +++ b/ghc/compiler/basicTypes/NameEnv.lhs @@ -7,7 +7,7 @@ module NameEnv ( NameEnv, mkNameEnv, emptyNameEnv, unitNameEnv, nameEnvElts, - extendNameEnv_C, extendNameEnv, extendNameEnvList, + extendNameEnv_C, extendNameEnvList_C, extendNameEnv, extendNameEnvList, foldNameEnv, filterNameEnv, plusNameEnv, plusNameEnv_C, lookupNameEnv, lookupNameEnv_NF, delFromNameEnv, delListFromNameEnv, @@ -30,37 +30,39 @@ import Maybes ( expectJust ) \begin{code} type NameEnv a = UniqFM a -- Domain is Name -emptyNameEnv :: NameEnv a -mkNameEnv :: [(Name,a)] -> NameEnv a -nameEnvElts :: NameEnv a -> [a] -extendNameEnv_C :: (a->a->a) -> NameEnv a -> Name -> a -> NameEnv a -extendNameEnv :: NameEnv a -> Name -> a -> NameEnv a -plusNameEnv :: NameEnv a -> NameEnv a -> NameEnv a -plusNameEnv_C :: (a->a->a) -> NameEnv a -> NameEnv a -> NameEnv a -extendNameEnvList:: NameEnv a -> [(Name,a)] -> NameEnv a -delFromNameEnv :: NameEnv a -> Name -> NameEnv a +emptyNameEnv :: NameEnv a +mkNameEnv :: [(Name,a)] -> NameEnv a +nameEnvElts :: NameEnv a -> [a] +extendNameEnv_C :: (a->a->a) -> NameEnv a -> Name -> a -> NameEnv a +extendNameEnvList_C:: (a->a->a) -> NameEnv a -> [(Name,a)] -> NameEnv a +extendNameEnv :: NameEnv a -> Name -> a -> NameEnv a +plusNameEnv :: NameEnv a -> NameEnv a -> NameEnv a +plusNameEnv_C :: (a->a->a) -> NameEnv a -> NameEnv a -> NameEnv a +extendNameEnvList :: NameEnv a -> [(Name,a)] -> NameEnv a +delFromNameEnv :: NameEnv a -> Name -> NameEnv a delListFromNameEnv :: NameEnv a -> [Name] -> NameEnv a -elemNameEnv :: Name -> NameEnv a -> Bool -unitNameEnv :: Name -> a -> NameEnv a -lookupNameEnv :: NameEnv a -> Name -> Maybe a -lookupNameEnv_NF :: NameEnv a -> Name -> a -foldNameEnv :: (a -> b -> b) -> b -> NameEnv a -> b -filterNameEnv :: (elt -> Bool) -> NameEnv elt -> NameEnv elt +elemNameEnv :: Name -> NameEnv a -> Bool +unitNameEnv :: Name -> a -> NameEnv a +lookupNameEnv :: NameEnv a -> Name -> Maybe a +lookupNameEnv_NF :: NameEnv a -> Name -> a +foldNameEnv :: (a -> b -> b) -> b -> NameEnv a -> b +filterNameEnv :: (elt -> Bool) -> NameEnv elt -> NameEnv elt -emptyNameEnv = emptyUFM -foldNameEnv = foldUFM -mkNameEnv = listToUFM -nameEnvElts = eltsUFM -extendNameEnv_C = addToUFM_C -extendNameEnv = addToUFM -plusNameEnv = plusUFM -plusNameEnv_C = plusUFM_C -extendNameEnvList= addListToUFM -delFromNameEnv = delFromUFM -delListFromNameEnv = delListFromUFM -elemNameEnv = elemUFM -unitNameEnv = unitUFM -filterNameEnv = filterUFM +emptyNameEnv = emptyUFM +foldNameEnv = foldUFM +mkNameEnv = listToUFM +nameEnvElts = eltsUFM +extendNameEnv_C = addToUFM_C +extendNameEnvList_C = addListToUFM_C +extendNameEnv = addToUFM +plusNameEnv = plusUFM +plusNameEnv_C = plusUFM_C +extendNameEnvList = addListToUFM +delFromNameEnv = delFromUFM +delListFromNameEnv = delListFromUFM +elemNameEnv = elemUFM +unitNameEnv = unitUFM +filterNameEnv = filterUFM lookupNameEnv = lookupUFM lookupNameEnv_NF env n = expectJust "lookupNameEnv_NF" (lookupUFM env n)