GHC.Runtime.Context
Documentation
data InteractiveContext Source #
Interactive context, recording information about the state of the context in which statements are executed in a GHCi session.
Constructors
InteractiveContext | |
Fields
|
data InteractiveImport Source #
Constructors
IIDecl (ImportDecl GhcPs) | Bring the exports of a particular module (filtered by an import decl) into scope |
IIModule ModuleName | Bring into scope the entire top-level envt of of this module, including the things imported into it. |
Instances
Outputable InteractiveImport Source # | |
Defined in GHC.Runtime.Context Methods ppr :: InteractiveImport -> SDoc Source # |
emptyInteractiveContext :: DynFlags -> InteractiveContext Source #
Constructs an empty InteractiveContext.
extendInteractiveContext :: InteractiveContext -> [TyThing] -> InstEnv -> [FamInst] -> Maybe [Type] -> FixityEnv -> InteractiveContext Source #
extendInteractiveContext is called with new TyThings recently defined to update the InteractiveContext to include them. By putting new things first, unqualified use will pick the most recently defined thing with a given name, while still keeping the old names in scope in their qualified form (Ghci1.foo).
icInScopeTTs :: InteractiveContext -> [TyThing] Source #
This function returns the list of visible TyThings (useful for e.g. showBindings).
It picks only those TyThings that are not shadowed by later definitions on the interpreter, to not clutter :showBindings with shadowed ids, which would show up as Ghci9.foo.
Some TyThings define many names; we include them if _any_ name is still available unqualified.
icPrintUnqual :: UnitEnv -> InteractiveContext -> PrintUnqualified Source #
Get the PrintUnqualified function based on the flags and this InteractiveContext