X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Futils%2FFiniteMap.lhs;fp=ghc%2Fcompiler%2Futils%2FFiniteMap.lhs;h=c811e28d8cb7d53b55128190da951db561c72881;hb=7e602b0a11e567fcb035d1afd34015aebcf9a577;hp=ffc7f2d51d49f3f14ffb1772d4c774ea7987d6ef;hpb=139f0fd30e19f934aa51885a52b8e5d7c24ee460;p=ghc-hetmet.git diff --git a/ghc/compiler/utils/FiniteMap.lhs b/ghc/compiler/utils/FiniteMap.lhs index ffc7f2d..c811e28 100644 --- a/ghc/compiler/utils/FiniteMap.lhs +++ b/ghc/compiler/utils/FiniteMap.lhs @@ -46,7 +46,7 @@ module FiniteMap ( , bagToFM , FiniteSet, emptySet, mkSet, isEmptySet - , elementOf, setToList, union, minusSet + , elementOf, setToList, union, insert, minusSet ) where @@ -105,6 +105,7 @@ addToFM :: (Ord key OUTPUTABLE_key) => FiniteMap key elt -> key -> elt -> Fini addListToFM :: (Ord key OUTPUTABLE_key) => FiniteMap key elt -> [(key,elt)] -> FiniteMap key elt -- Combines with previous binding + -- The combining fn goes (old -> new -> new) addToFM_C :: (Ord key OUTPUTABLE_key) => (elt -> elt -> elt) -> FiniteMap key elt -> key -> elt -> FiniteMap key elt @@ -684,6 +685,7 @@ elementOf :: (Ord key OUTPUTABLE_key) => key -> FiniteSet key -> Bool minusSet :: (Ord key OUTPUTABLE_key) => FiniteSet key -> FiniteSet key -> FiniteSet key setToList :: FiniteSet key -> [key] union :: (Ord key OUTPUTABLE_key) => FiniteSet key -> FiniteSet key -> FiniteSet key +insert :: (Ord key OUTPUTABLE_key) => FiniteSet key -> key -> FiniteSet key emptySet = emptyFM mkSet xs = listToFM [ (x, ()) | x <- xs] @@ -692,7 +694,7 @@ elementOf = elemFM minusSet = minusFM setToList = keysFM union = plusFM - +insert s v = addToFM s v () \end{code} %************************************************************************