HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Moduleghc-9.14.1GHC2021

GHC.Rename.Names

  • 2 types
  • 17 values
  • Packageghc-9.14.1
  • Exports19
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceNames.hs
datadata ImportUserSpec
#

The import specification as written by the user, including the list of explicitly imported names. Used in ModIface to allow GHCi to reconstruct the top level environment on demand.

This is distinct from ImportSpec because we don't want to store the list of explicitly imported names along with each GRE

We don't want to store the entire GlobalRdrEnv for modules that are imported without explicit export lists, as these may grow to be very large. However, GlobalRdrEnvs which are the result of explicit import lists are typically quite small.

Why do we not store something like (Maybe (ImportListInterpretation, [IE GhcPs]) in such a case? Because we don't want to store source syntax including annotations in interface files.