[project @ 2002-01-09 12:41:45 by simonmar]
authorsimonmar <unknown>
Wed, 9 Jan 2002 12:41:47 +0000 (12:41 +0000)
committersimonmar <unknown>
Wed, 9 Jan 2002 12:41:47 +0000 (12:41 +0000)
commitf587e76c3314fb89ba898b4c2aa2f5e5ef56c4f6
tree3397af5861fbb7a15dcc002a5096ba0a65f48d1c
parent1c424fdb63745ecc1f621fd991a35fcabce46333
[project @ 2002-01-09 12:41:45 by simonmar]
First cut at enhancing the facilities for manipulating the scope in
GHCi.  The scope now consists of

  1. the full top-level scope of zero or more interpreted modules
  2. the exports from zero or more modules
  3. the temporary bindings

The sets 1 & 2 are manipulated using an extended :m command: eg :m +A
will add module A to either set 1 or two depending on whether A is
interpreted, and :m -A will remove it.  The user interface may change,
pending feedback from the punters on the mailing list.

'Prelude' is automatically added to the scope if set 1 is empty and
set 2 doesn't already contain it.

We now cache the GlobalRdrEnv for the current scope between
evaluations in the InteractiveContext, and also the current
PrintUnqualified setting (which also depends on the scope).

Cvs: ----------------------------------------------------------------------
ghc/compiler/compMan/CompManager.lhs
ghc/compiler/ghci/InteractiveUI.hs
ghc/compiler/main/HscMain.lhs
ghc/compiler/main/HscTypes.lhs
ghc/compiler/prelude/PrelNames.lhs
ghc/compiler/rename/Rename.lhs
ghc/compiler/rename/RnEnv.lhs