-\begin{code}
-mkModule :: ModuleName -- Name of the module
- -> PackageName
- -> Module
-mkModule mod_nm pack_name
- = Module mod_nm pack_info
- where
- pack_info | pack_name == opt_InPackage = ThisPackage
- | otherwise = AnotherPackage pack_name
-
-mkHomeModule :: ModuleName -> Module
-mkHomeModule mod_nm = Module mod_nm ThisPackage
-
-isHomeModule :: Module -> Bool
-isHomeModule (Module nm ThisPackage) = True
-isHomeModule _ = False
-
--- Used temporarily when we first come across Foo.x in an interface
--- file, but before we've opened Foo.hi.
--- (Until we've opened Foo.hi we don't know what the Package is.)
-mkVanillaModule :: ModuleName -> Module
-mkVanillaModule name = Module name DunnoYet
-
-isVanillaModule :: Module -> Bool
-isVanillaModule (Module nm DunnoYet) = True
-isVanillaModule _ = False
-
-mkPrelModule :: ModuleName -> Module
-mkPrelModule name = mkModule name preludePackage
-
-isPrelModule :: Module -> Bool
-isPrelModule (Module nm (AnotherPackage p)) | p == preludePackage = True
-isPrelModule _ = False
-
-moduleString :: Module -> EncodedString
-moduleString (Module (ModuleName fs) _) = _UNPK_ fs
-
-moduleName :: Module -> ModuleName
-moduleName (Module mod pkg_info) = mod
-
-modulePackage :: Module -> PackageName
-modulePackage (Module mod pkg_info) = packageInfoPackage pkg_info
-
-moduleUserString :: Module -> UserString
-moduleUserString (Module mod _) = moduleNameUserString mod
-
-printModulePrefix :: Module -> Bool
- -- When printing, say M.x
-printModulePrefix (Module nm ThisPackage) = False
-printModulePrefix _ = True