diff options
Diffstat (limited to 'compiler/utils/FiniteMap.hs')
-rw-r--r-- | compiler/utils/FiniteMap.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/utils/FiniteMap.hs b/compiler/utils/FiniteMap.hs index cb6e5573e8..0692830932 100644 --- a/compiler/utils/FiniteMap.hs +++ b/compiler/utils/FiniteMap.hs @@ -7,21 +7,23 @@ module FiniteMap ( foldRight, foldRightWithKey ) where +import GhcPrelude + import Data.Map (Map) import qualified Data.Map as Map insertList :: Ord key => [(key,elt)] -> Map key elt -> Map key elt -insertList xs m = foldl (\m (k, v) -> Map.insert k v m) m xs +insertList xs m = foldl' (\m (k, v) -> Map.insert k v m) m xs insertListWith :: Ord key => (elt -> elt -> elt) -> [(key,elt)] -> Map key elt -> Map key elt -insertListWith f xs m0 = foldl (\m (k, v) -> Map.insertWith f k v m) m0 xs +insertListWith f xs m0 = foldl' (\m (k, v) -> Map.insertWith f k v m) m0 xs deleteList :: Ord key => [key] -> Map key elt -> Map key elt -deleteList ks m = foldl (flip Map.delete) m ks +deleteList ks m = foldl' (flip Map.delete) m ks foldRight :: (elt -> a -> a) -> a -> Map key elt -> a foldRight = Map.foldr |