diff options
Diffstat (limited to 'compiler/utils/UniqFM.hs')
| -rw-r--r-- | compiler/utils/UniqFM.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/utils/UniqFM.hs b/compiler/utils/UniqFM.hs index 244969cc91..be5da8373b 100644 --- a/compiler/utils/UniqFM.hs +++ b/compiler/utils/UniqFM.hs @@ -49,6 +49,7 @@ module UniqFM ( plusUFM, plusUFM_C, plusUFM_CD, + plusUFMList, minusUFM, intersectUFM, intersectUFM_C, @@ -71,6 +72,8 @@ module UniqFM ( import Unique ( Uniquable(..), Unique, getKey ) import Outputable +import Data.List (foldl') + import qualified Data.IntMap as M import qualified Data.IntSet as S import Data.Typeable @@ -214,6 +217,9 @@ plusUFM_CD f (UFM xm) dx (UFM ym) dy (M.map (\y -> dx `f` y)) xm ym +plusUFMList :: [UniqFM elt] -> UniqFM elt +plusUFMList = foldl' plusUFM emptyUFM + minusUFM :: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1 minusUFM (UFM x) (UFM y) = UFM (M.difference x y) |
