2 % (c) The GRASP/AQUA Project, Glasgow University, 1998
4 \section[NameSet]{@NameSets@}
10 emptyNameSet, unitNameSet, mkNameSet, unionNameSets, unionManyNameSets,
11 minusNameSet, elemNameSet, nameSetToList, addOneToNameSet, addListToNameSet,
12 delFromNameSet, delListFromNameSet, isEmptyNameSet, foldNameSet
15 #include "HsVersions.h"
22 %************************************************************************
24 \subsection[Sets of names}
26 %************************************************************************
29 type NameSet = UniqSet Name
30 emptyNameSet :: NameSet
31 unitNameSet :: Name -> NameSet
32 addListToNameSet :: NameSet -> [Name] -> NameSet
33 addOneToNameSet :: NameSet -> Name -> NameSet
34 mkNameSet :: [Name] -> NameSet
35 unionNameSets :: NameSet -> NameSet -> NameSet
36 unionManyNameSets :: [NameSet] -> NameSet
37 minusNameSet :: NameSet -> NameSet -> NameSet
38 elemNameSet :: Name -> NameSet -> Bool
39 nameSetToList :: NameSet -> [Name]
40 isEmptyNameSet :: NameSet -> Bool
41 delFromNameSet :: NameSet -> Name -> NameSet
42 delListFromNameSet :: NameSet -> [Name] -> NameSet
43 foldNameSet :: (Name -> b -> b) -> b -> NameSet -> b
45 isEmptyNameSet = isEmptyUniqSet
46 emptyNameSet = emptyUniqSet
47 unitNameSet = unitUniqSet
49 addListToNameSet = addListToUniqSet
50 addOneToNameSet = addOneToUniqSet
51 unionNameSets = unionUniqSets
52 unionManyNameSets = unionManyUniqSets
53 minusNameSet = minusUniqSet
54 elemNameSet = elementOfUniqSet
55 nameSetToList = uniqSetToList
56 delFromNameSet = delOneFromUniqSet
57 foldNameSet = foldUniqSet
59 delListFromNameSet set ns = foldl delFromNameSet set ns