summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÖmer Sinan Ağacan <omeragacan@gmail.com>2016-06-11 10:01:49 -0400
committerÖmer Sinan Ağacan <omeragacan@gmail.com>2016-06-11 10:01:49 -0400
commit5990016ac87ebc39466b736fb94bba7643e0fc97 (patch)
tree4d704bee62015d85e7fe2578131cf6385c429e7c
parentc88f31a08943764217b69adb1085ba423c9bcf91 (diff)
downloadhaskell-5990016ac87ebc39466b736fb94bba7643e0fc97.tar.gz
ModuleSet: Use an actual set instead of map to units
-rw-r--r--compiler/basicTypes/Module.hs14
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/basicTypes/Module.hs b/compiler/basicTypes/Module.hs
index aa886bb6d9..a80df19c33 100644
--- a/compiler/basicTypes/Module.hs
+++ b/compiler/basicTypes/Module.hs
@@ -92,7 +92,9 @@ import GHC.PackageDb (BinaryStringRep(..), DbModuleRep(..), DbModule(..))
import Data.Data
import Data.Map (Map)
+import Data.Set (Set)
import qualified Data.Map as Map
+import qualified Data.Set as Set
import qualified FiniteMap as Map
import System.FilePath
@@ -580,7 +582,7 @@ foldModuleEnv :: (a -> b -> b) -> b -> ModuleEnv a -> b
foldModuleEnv f x (ModuleEnv e) = Map.foldRightWithKey (\_ v -> f v) x e
-- | A set of 'Module's
-type ModuleSet = Map Module ()
+type ModuleSet = Set Module
mkModuleSet :: [Module] -> ModuleSet
extendModuleSet :: ModuleSet -> Module -> ModuleSet
@@ -588,11 +590,11 @@ emptyModuleSet :: ModuleSet
moduleSetElts :: ModuleSet -> [Module]
elemModuleSet :: Module -> ModuleSet -> Bool
-emptyModuleSet = Map.empty
-mkModuleSet ms = Map.fromList [(m,()) | m <- ms ]
-extendModuleSet s m = Map.insert m () s
-moduleSetElts = Map.keys
-elemModuleSet = Map.member
+emptyModuleSet = Set.empty
+mkModuleSet = Set.fromList
+extendModuleSet s m = Set.insert m s
+moduleSetElts = Set.toList
+elemModuleSet = Set.member
{-
A ModuleName has a Unique, so we can build mappings of these using