@@ -55,10 +55,10 @@ data Env = Env {
5555 elemsDupBS :: ! [(BS. ByteString , Int )],
5656 elemsDupI :: ! [(Int , Int )],
5757
58- hm :: ! (HM. HashMap String Int ),
59- hmbs :: ! (HM. HashMap BS. ByteString Int ),
60- hmi :: ! (HM. HashMap Int Int ),
61- hmi2 :: ! (HM. HashMap Int Int ),
58+ hm :: ! (HM. HashMapW String Int ),
59+ hmbs :: ! (HM. HashMapW BS. ByteString Int ),
60+ hmi :: ! (HM. HashMapW Int Int ),
61+ hmi2 :: ! (HM. HashMapW Int Int ),
6262 m :: ! (M. Map String Int ),
6363 mbs :: ! (M. Map BS. ByteString Int ),
6464 im :: ! (IM. IntMap Int ),
@@ -195,7 +195,7 @@ main = do
195195 ]
196196
197197 , env setupEnv $ \ ~ (Env {.. }) ->
198- bgroup " HashMap "
198+ bgroup " HashMapW "
199199 [ -- * Basic interface
200200 bgroup " lookup"
201201 [ bench " String" $ whnf (lookup keys) hm
@@ -283,32 +283,32 @@ main = do
283283 ]
284284
285285------------------------------------------------------------------------
286- -- * HashMap
286+ -- * HashMapW
287287
288- lookup :: (Eq k , Hashable k ) => [k ] -> HM. HashMap k Int -> Int
288+ lookup :: (Eq k , Hashable k ) => [k ] -> HM. HashMapW k Int -> Int
289289lookup xs m = foldl' (\ z k -> fromMaybe z (HM. lookup k m)) 0 xs
290- {-# SPECIALIZE lookup :: [Int] -> HM.HashMap Int Int -> Int #-}
291- {-# SPECIALIZE lookup :: [String] -> HM.HashMap String Int -> Int #-}
292- {-# SPECIALIZE lookup :: [BS.ByteString] -> HM.HashMap BS.ByteString Int
290+ {-# SPECIALIZE lookup :: [Int] -> HM.HashMapW Int Int -> Int #-}
291+ {-# SPECIALIZE lookup :: [String] -> HM.HashMapW String Int -> Int #-}
292+ {-# SPECIALIZE lookup :: [BS.ByteString] -> HM.HashMapW BS.ByteString Int
293293 -> Int #-}
294294
295- insert :: (Eq k , Hashable k ) => [(k , Int )] -> HM. HashMap k Int
296- -> HM. HashMap k Int
295+ insert :: (Eq k , Hashable k ) => [(k , Int )] -> HM. HashMapW k Int
296+ -> HM. HashMapW k Int
297297insert xs m0 = foldl' (\ m (k, v) -> HM. insert k v m) m0 xs
298- {-# SPECIALIZE insert :: [(Int, Int)] -> HM.HashMap Int Int
299- -> HM.HashMap Int Int #-}
300- {-# SPECIALIZE insert :: [(String, Int)] -> HM.HashMap String Int
301- -> HM.HashMap String Int #-}
302- {-# SPECIALIZE insert :: [(BS.ByteString, Int)] -> HM.HashMap BS.ByteString Int
303- -> HM.HashMap BS.ByteString Int #-}
304-
305- delete :: (Eq k , Hashable k ) => [k ] -> HM. HashMap k Int -> HM. HashMap k Int
298+ {-# SPECIALIZE insert :: [(Int, Int)] -> HM.HashMapW Int Int
299+ -> HM.HashMapW Int Int #-}
300+ {-# SPECIALIZE insert :: [(String, Int)] -> HM.HashMapW String Int
301+ -> HM.HashMapW String Int #-}
302+ {-# SPECIALIZE insert :: [(BS.ByteString, Int)] -> HM.HashMapW BS.ByteString Int
303+ -> HM.HashMapW BS.ByteString Int #-}
304+
305+ delete :: (Eq k , Hashable k ) => [k ] -> HM. HashMapW k Int -> HM. HashMapW k Int
306306delete xs m0 = foldl' (\ m k -> HM. delete k m) m0 xs
307- {-# SPECIALIZE delete :: [Int] -> HM.HashMap Int Int -> HM.HashMap Int Int #-}
308- {-# SPECIALIZE delete :: [String] -> HM.HashMap String Int
309- -> HM.HashMap String Int #-}
310- {-# SPECIALIZE delete :: [BS.ByteString] -> HM.HashMap BS.ByteString Int
311- -> HM.HashMap BS.ByteString Int #-}
307+ {-# SPECIALIZE delete :: [Int] -> HM.HashMapW Int Int -> HM.HashMapW Int Int #-}
308+ {-# SPECIALIZE delete :: [String] -> HM.HashMapW String Int
309+ -> HM.HashMapW String Int #-}
310+ {-# SPECIALIZE delete :: [BS.ByteString] -> HM.HashMapW BS.ByteString Int
311+ -> HM.HashMapW BS.ByteString Int #-}
312312
313313------------------------------------------------------------------------
314314-- * Map
0 commit comments