diff options
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 |
commit | 5990016ac87ebc39466b736fb94bba7643e0fc97 (patch) | |
tree | 4d704bee62015d85e7fe2578131cf6385c429e7c /compiler | |
parent | c88f31a08943764217b69adb1085ba423c9bcf91 (diff) | |
download | haskell-5990016ac87ebc39466b736fb94bba7643e0fc97.tar.gz |
ModuleSet: Use an actual set instead of map to units
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/basicTypes/Module.hs | 14 |
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 |