allow build settings to be overriden by adding mk/validate.mk
[ghc-hetmet.git] / utils / hpc / HpcSet.hs
1 module HpcSet ( module HpcSet ) where 
2
3 import qualified Data.Set as Set
4
5 type Set a = Set.Set a
6
7 empty  :: Set a
8 insert :: (Ord a) => a -> Set a -> Set a
9 member :: (Ord a) => a -> Set a -> Bool
10 null   :: Set a -> Bool
11 intersection :: Ord a => Set a -> Set a -> Set a
12 fromList :: Ord a => [a] -> Set a
13 toList :: Set a -> [a]
14 union :: Ord a => Set a -> Set a -> Set a
15
16 #if __GLASGOW_HASKELL__ < 604
17
18 empty  = Set.emptySet
19 insert = flip Set.addToSet
20 member = Set.elementOf
21 null   = Set.isEmptySet
22 intersection = Set.intersect
23 fromList = Set.mkSet
24 toList = Set.setToList
25 union = Set.union
26
27 #else
28
29 empty  = Set.empty
30 insert = Set.insert
31 member = Set.member
32 null   = Set.null
33 intersection = Set.intersection
34 fromList = Set.fromList
35 toList = Set.toList
36 union = Set.union
37
38 #endif
39