[project @ 2002-01-03 17:09:13 by simonmar]
authorsimonmar <unknown>
Thu, 3 Jan 2002 17:09:15 +0000 (17:09 +0000)
committersimonmar <unknown>
Thu, 3 Jan 2002 17:09:15 +0000 (17:09 +0000)
commit224131a71a9edbd6aa8d5a704f1012f8a0a88814
treef2d3c2b59cbe807a314b28b878738383330e6005
parent432c57562b861f9d00bc70eea0ba393f8847c92e
[project @ 2002-01-03 17:09:13 by simonmar]
- change the mi_globals field of ModIface to be (Maybe GlobalRdrEnv)
  from GlobalRdrEnv.  The idea is that modules which we have
  compiled from source will have a complete GlobalRdrEnv in this field
  containing their top-level environments, whereas modules which we
  have loaded from object files (package modules and pre-compiled home
  modules) will have Nothing and we'll create a fake GlobalRdrEnv on
  demand from the export list.

  Previously we used to create the fake env all the time, but this way
  highlights the fact that we don't really have a proper GlobalRdrEnv
  for these modules (something we'd like to address at some point).

- rename CompManager.cmLoadModule to cmLoadModules and make it take
  a DynFlags argument to be consistent with the rest of the
  CompManager interface.

- split cmLoadModule into two parts: cmDepAnal which takes a list of
  filenames and returns a ModuleGraph, and cmLoadModules which takes
  the ModuleGraph and does the rest.  This lets the consumer know
  whether the dependency analysis step fails before unloading any
  existing modules - i.e. if you :reload and a module is missing, you
  don't lose the modules that are already loaded (bug reported by
  MIchael Weber some time ago).
ghc/compiler/compMan/CompManager.lhs
ghc/compiler/ghci/InteractiveUI.hs
ghc/compiler/main/HscTypes.lhs
ghc/compiler/rename/Rename.lhs
ghc/compiler/rename/RnHiFiles.lhs