Hoogle Search
Within LTS Haskell 24.41 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
lookupUnitId' :: UnitInfoMap -> UnitId -> Maybe UnitInfoghc GHC.Unit.State Find the unit we know about with the given unit id, if any
moduleNameProvidersMap :: UnitState -> !ModuleNameProvidersMapghc GHC.Unit.State This is a full map from ModuleName to all modules which may possibly be providing it. These providers may be hidden (but we'll still want to report them in error messages), or it may be an ambiguous import.
pluginModuleNameProvidersMap :: UnitState -> !ModuleNameProvidersMapghc GHC.Unit.State A map, like moduleNameProvidersMap, but controlling plugin visibility.
pprUnitIdForUser :: UnitState -> UnitId -> SDocghc GHC.Unit.State Pretty-print a UnitId for the user. Cabal packages may contain several components (programs, libraries, etc.). As far as GHC is concerned, installed package components ("units") are identified by an opaque UnitId string provided by Cabal. As the string contains a hash, we don't want to display it to users so GHC queries the database to retrieve some infos about the original source package (name, version, component name). Instead we want to display: packagename-version[:componentname] Component name is only displayed if it isn't the default library To do this we need to query a unit database.
searchPackageId :: UnitState -> PackageId -> [UnitInfo]ghc GHC.Unit.State Search for units with a given package ID (e.g. "foo-0.1")
unsafeLookupUnitId :: HasDebugCallStack => UnitState -> UnitId -> UnitInfoghc GHC.Unit.State Looks up the given unit id in the unit state, panicking if it is not found
type
DefUnitId = Definite UnitIdghc GHC.Unit.Types A DefUnitId is an UnitId with the invariant that it only refers to a definite library; i.e., one we have generated code for.
-
ghc GHC.Unit.Types Class for types that are used as unit identifiers (UnitKey, UnitId, Unit) We need this class because we create new unit ids for virtual units (see VirtUnit) and they have to to be made from units with different kinds of identifiers.
-
ghc GHC.Unit.Types A UnitId identifies a built library in a database and is used to generate unique symbols, etc. It's usually of the form: pkgname-1.2:libname+hash These UnitId are provided to us via the -this-unit-id flag. The library in question may be definite or indefinite; if it is indefinite, none of the holes have been filled (we never install partially instantiated libraries as we can cheaply instantiate them on-the-fly, cf VirtUnit). Put another way, an installed unit id is either fully instantiated, or not instantiated at all.
UnitId :: FastString -> UnitIdghc GHC.Unit.Types No documentation available.