[commit: ghc] master: Add alterOccEnv (5c4265f)
git at git.haskell.org
git at git.haskell.org
Fri Jan 3 16:14:39 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/5c4265f25f04f191fafc4a7f6bfde088385da53e/ghc
>---------------------------------------------------------------
commit 5c4265f25f04f191fafc4a7f6bfde088385da53e
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Fri Jan 3 15:36:31 2014 +0000
Add alterOccEnv
>---------------------------------------------------------------
5c4265f25f04f191fafc4a7f6bfde088385da53e
compiler/basicTypes/OccName.lhs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs
index 7585807..9c31612 100644
--- a/compiler/basicTypes/OccName.lhs
+++ b/compiler/basicTypes/OccName.lhs
@@ -89,6 +89,7 @@ module OccName (
lookupOccEnv, mkOccEnv, mkOccEnv_C, extendOccEnvList, elemOccEnv,
occEnvElts, foldOccEnv, plusOccEnv, plusOccEnv_C, extendOccEnv_C,
extendOccEnv_Acc, filterOccEnv, delListFromOccEnv, delFromOccEnv,
+ alterOccEnv,
-- * The 'OccSet' type
OccSet, emptyOccSet, unitOccSet, mkOccSet, extendOccSet,
@@ -391,6 +392,7 @@ mapOccEnv :: (a->b) -> OccEnv a -> OccEnv b
delFromOccEnv :: OccEnv a -> OccName -> OccEnv a
delListFromOccEnv :: OccEnv a -> [OccName] -> OccEnv a
filterOccEnv :: (elt -> Bool) -> OccEnv elt -> OccEnv elt
+alterOccEnv :: (Maybe elt -> Maybe elt) -> OccEnv elt -> OccName -> OccEnv elt
emptyOccEnv = A emptyUFM
unitOccEnv x y = A $ unitUFM x y
@@ -410,6 +412,7 @@ mkOccEnv_C comb l = A $ addListToUFM_C comb emptyUFM l
delFromOccEnv (A x) y = A $ delFromUFM x y
delListFromOccEnv (A x) y = A $ delListFromUFM x y
filterOccEnv x (A y) = A $ filterUFM x y
+alterOccEnv fn (A y) k = A $ alterUFM fn y k
instance Outputable a => Outputable (OccEnv a) where
ppr (A x) = ppr x
More information about the ghc-commits
mailing list