pprModuleName,
moduleNameFS,
moduleNameString,
+ moduleNameSlashes,
mkModuleName,
mkModuleNameFS,
extendModuleEnvList_C, plusModuleEnv_C,
delModuleEnvList, delModuleEnv, plusModuleEnv, lookupModuleEnv,
lookupWithDefaultModuleEnv, mapModuleEnv, mkModuleEnv, emptyModuleEnv,
- moduleEnvElts, unitModuleEnv, isEmptyModuleEnv, foldModuleEnv,
- extendModuleEnv_C, filterModuleEnv,
+ moduleEnvKeys, moduleEnvElts, unitModuleEnv, isEmptyModuleEnv,
+ foldModuleEnv, extendModuleEnv_C, filterModuleEnv,
-- * ModuleName mappings
ModuleNameEnv,
import UniqFM
import FastString
import Binary
+
+import System.FilePath
\end{code}
%************************************************************************
mkModuleNameFS :: FastString -> ModuleName
mkModuleNameFS s = ModuleName s
+
+-- Returns the string version of the module name, with dots replaced by slashes
+moduleNameSlashes :: ModuleName -> String
+moduleNameSlashes = dots_to_slashes . moduleNameString
+ where dots_to_slashes = map (\c -> if c == '.' then pathSeparator else c)
\end{code}
%************************************************************************
delModuleEnv :: ModuleEnv a -> Module -> ModuleEnv a
plusModuleEnv_C :: (a -> a -> a) -> ModuleEnv a -> ModuleEnv a -> ModuleEnv a
mapModuleEnv :: (a -> b) -> ModuleEnv a -> ModuleEnv b
+moduleEnvKeys :: ModuleEnv a -> [Module]
moduleEnvElts :: ModuleEnv a -> [a]
isEmptyModuleEnv :: ModuleEnv a -> Bool
mapModuleEnv f = mapFM (\_ v -> f v)
mkModuleEnv = listToFM
emptyModuleEnv = emptyFM
+moduleEnvKeys = keysFM
moduleEnvElts = eltsFM
unitModuleEnv = unitFM
isEmptyModuleEnv = isEmptyFM