[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / compiler / basicTypes / NameSet.lhs
1 %
2 % (c) The GRASP/AQUA Project, Glasgow University, 1998
3 %
4 \section[NameSet]{@NameSets@} 
5
6 \begin{code}
7 module NameSet (
8         -- Sets of Names
9         NameSet,
10         emptyNameSet, unitNameSet, mkNameSet, unionNameSets, unionManyNameSets,
11         minusNameSet, elemNameSet, nameSetToList, addOneToNameSet, addListToNameSet, isEmptyNameSet,
12     ) where
13
14 #include "HsVersions.h"
15
16 import Name
17 import UniqSet
18 \end{code}
19
20
21 %************************************************************************
22 %*                                                                      *
23 \subsection[Sets of names}
24 %*                                                                      *
25 %************************************************************************
26
27 \begin{code}
28 type NameSet = UniqSet Name
29 emptyNameSet      :: NameSet
30 unitNameSet       :: Name -> NameSet
31 addListToNameSet  :: NameSet -> [Name] -> NameSet
32 addOneToNameSet   :: NameSet -> Name -> NameSet
33 mkNameSet         :: [Name] -> NameSet
34 unionNameSets     :: NameSet -> NameSet -> NameSet
35 unionManyNameSets :: [NameSet] -> NameSet
36 minusNameSet      :: NameSet -> NameSet -> NameSet
37 elemNameSet       :: Name -> NameSet -> Bool
38 nameSetToList     :: NameSet -> [Name]
39 isEmptyNameSet    :: NameSet -> Bool
40
41 isEmptyNameSet    = isEmptyUniqSet
42 emptyNameSet      = emptyUniqSet
43 unitNameSet       = unitUniqSet
44 mkNameSet         = mkUniqSet
45 addListToNameSet  = addListToUniqSet
46 addOneToNameSet   = addOneToUniqSet
47 unionNameSets     = unionUniqSets
48 unionManyNameSets = unionManyUniqSets
49 minusNameSet      = minusUniqSet
50 elemNameSet       = elementOfUniqSet
51 nameSetToList     = uniqSetToList
52 \end{code}
53
54