Fixing Hpc's Finite Map compat lib for ghc 6.2.1
[ghc-hetmet.git] / utils / hpc / HpcMap.hs
1 module HpcMap ( module HpcMap ) where
2
3 #if __GLASGOW_HASKELL__ < 604
4 import qualified Data.FiniteMap as Map
5 #else
6 import qualified Data.Map as Map
7 #endif
8
9
10 lookup :: Ord key => key -> Map key elt -> Maybe elt
11 fromList :: Ord key => [(key,elt)] -> Map key elt
12 fromListWith :: Ord k => (a -> a -> a) -> [(k, a)] -> Map k a
13
14 #if __GLASGOW_HASKELL__ < 604
15 type Map key elt = Map.FiniteMap key elt
16
17 lookup = flip Map.lookupFM
18 fromList = Map.listToFM 
19 fromListWith f xs = Map.addListToFM_C f Map.emptyFM xs
20 toList = Map.fmToList
21
22 #else
23
24 type Map key elt = Map.Map key elt
25
26 lookup = Map.lookup
27 fromList = Map.fromList
28 toList   = Map.toList
29 fromListWith = Map.fromListWith
30
31 #endif