ghc-8.6.1: The GHC API

Finder

Synopsis

# Documentation

The result of searching for an imported module.

NB: FindResult manages both user source-import lookups (which can result in Module) as well as direct imports for interfaces (which always result in InstalledModule).

Constructors

 Found ModLocation Module The module was found NoPackage UnitId The requested package was not found FoundMultiple [(Module, ModuleOrigin)] _Error_: both in multiple packages NotFound Not found Fieldsfr_paths :: [FilePath] fr_pkg :: Maybe UnitId fr_mods_hidden :: [UnitId] fr_pkgs_hidden :: [UnitId] fr_unusables :: [(UnitId, UnusablePackageReason)] fr_suggestions :: [ModuleSuggestion]

Locate a module that was imported by the user. We have the module's name, and possibly a package name. Without a package name, this function will use the search path and the known exposed packages to find the module, if a package is specified then only that package is searched for the module.

Locate a plugin module requested by the user, for a compiler plugin. This consults the same set of exposed packages as findImportedModule, unless -hide-all-plugin-packages or -plugin-package are specified.

Locate a specific Module. The purpose of this function is to create a ModLocation for a given Module, that is to find out where the files associated with this module live. It is used when reading the interface for a module mentioned by another interface, for example (a "system import").

Constructs the filename of a .hi file for a given source file. Does not check whether the .hi file exists

Constructs the filename of a .o file for a given source file. Does not check whether the .o file exists