cvs commit: fptools/ghc/compiler/basicTypes Module.hi-boot-6 Unique.lhs fptools/ghc/compiler/compMan CompManager.lhs fptools/ghc/compiler/deSugar Desugar.lhs DsMonad.lhs fptools/ghc/compiler/ghci InteractiveUI.hs Linker.lhs fptools/ghc/compiler/iface BinIface.hs IfaceType.lhs ...

Simon Peyton Jones simonpj at haskell.org
Tue Jan 18 07:19:13 EST 2005


simonpj     2005/01/18 04:19:13 PST

  Modified files:
    ghc/compiler/basicTypes Module.hi-boot-6 Unique.lhs 
    ghc/compiler/compMan CompManager.lhs 
    ghc/compiler/deSugar Desugar.lhs DsMonad.lhs 
    ghc/compiler/ghci    InteractiveUI.hs Linker.lhs 
    ghc/compiler/iface   BinIface.hs IfaceType.lhs LoadIface.lhs 
                         MkIface.lhs TcIface.lhs 
    ghc/compiler/main    CodeOutput.lhs DriverMkDepend.hs 
                         DriverPipeline.hs Finder.lhs HscTypes.lhs 
                         Main.hs PackageConfig.hs Packages.lhs 
    ghc/compiler/parser  Parser.y.pp RdrHsSyn.lhs 
    ghc/compiler/rename  RnNames.lhs 
    ghc/compiler/simplCore SimplCore.lhs 
    ghc/compiler/typecheck Inst.lhs TcEnv.lhs TcRnDriver.lhs 
                           TcRnMonad.lhs TcRnTypes.lhs 
                           TcSplice.lhs 
    ghc/compiler/utils   Binary.hs Outputable.lhs 
  Log:
    	------------------------
      Reorganisation of hi-boot files
    	------------------------
  
  The main point of this commit is to arrange that in the Compilation
  Manager's dependendency graph, hi-boot files are proper nodes. This
  is important to make sure that we compile everything in the right
  order.  It's a step towards hs-boot files.
  
  * The fundamental change is that CompManager.ModSummary has a new
    field, ms_boot :: IsBootInterface
  
    I also tided up CompManager a bit.  No change to the Basic Plan.
  
    ModSummary is now exported abstractly from CompManager (was concrete)
  
  * Hi-boot files now have import declarations.  The idea is they are
    compulsory, so that the dependency analyser can find them
  
  * I changed an invariant: the Compilation Manager used to ensure that
    hscMain was given a HomePackageTable only for the modules 'below' the
    one being compiled.  This was really only important for instances and
    rules, and it was a bit inconvenient.  So I moved the filter to the
    compiler itself: see HscTypes.hptInstances and hptRules.
  
  * Module Packages.hs now defines
      data PackageIdH
      = HomePackage 		-- The "home" package is the package
   				-- curently being compiled
      | ExtPackage PackageId	-- An "external" package is any other package
  
     It was just a Maybe type before, so this makes it a bit clearer.
  
  * I tried to add a bit better location info to the IfM monad, so that
    errors in interfaces come with a slightly more helpful error message.
    See the if_loc field in TcRnTypes --- and follow-on consequences
  
  * Changed Either to Maybes.MaybeErr in a couple of places (more perspicuous)
  
  Revision  Changes    Path
  1.5       +1 -1      fptools/ghc/compiler/basicTypes/Module.hi-boot-6
  1.73      +4 -0      fptools/ghc/compiler/basicTypes/Unique.lhs
  1.157     +283 -253  fptools/ghc/compiler/compMan/CompManager.lhs
  1.83      +3 -3      fptools/ghc/compiler/deSugar/Desugar.lhs
  1.56      +5 -4      fptools/ghc/compiler/deSugar/DsMonad.lhs
  1.183     +5 -18     fptools/ghc/compiler/ghci/InteractiveUI.hs
  1.48      +2 -2      fptools/ghc/compiler/ghci/Linker.lhs
  1.9       +2 -1      fptools/ghc/compiler/iface/BinIface.hs
  1.11      +2 -1      fptools/ghc/compiler/iface/IfaceType.lhs
  1.23      +100 -109  fptools/ghc/compiler/iface/LoadIface.lhs
  1.24      +11 -10    fptools/ghc/compiler/iface/MkIface.lhs
  1.29      +61 -40    fptools/ghc/compiler/iface/TcIface.lhs
  1.55      +1 -1      fptools/ghc/compiler/main/CodeOutput.lhs
  1.36      +3 -3      fptools/ghc/compiler/main/DriverMkDepend.hs
  1.176     +5 -5      fptools/ghc/compiler/main/DriverPipeline.hs
  1.75      +21 -7     fptools/ghc/compiler/main/Finder.lhs
  1.121     +62 -10    fptools/ghc/compiler/main/HscTypes.lhs
  1.142     +3 -3      fptools/ghc/compiler/main/Main.hs
  1.3       +13 -4     fptools/ghc/compiler/main/PackageConfig.hs
  1.24      +20 -8     fptools/ghc/compiler/main/Packages.lhs
  1.22      +21 -7     fptools/ghc/compiler/parser/Parser.y.pp
  1.80      +7 -5      fptools/ghc/compiler/parser/RdrHsSyn.lhs
  1.181     +4 -4      fptools/ghc/compiler/rename/RnNames.lhs
  1.128     +7 -7      fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.146     +6 -3      fptools/ghc/compiler/typecheck/Inst.lhs
  1.138     +3 -4      fptools/ghc/compiler/typecheck/TcEnv.lhs
  1.91      +16 -8     fptools/ghc/compiler/typecheck/TcRnDriver.lhs
  1.43      +32 -31    fptools/ghc/compiler/typecheck/TcRnMonad.lhs
  1.49      +8 -1      fptools/ghc/compiler/typecheck/TcRnTypes.lhs
  1.50      +1 -2      fptools/ghc/compiler/typecheck/TcSplice.lhs
  1.22      +5 -0      fptools/ghc/compiler/utils/Binary.hs
  1.63      +4 -0      fptools/ghc/compiler/utils/Outputable.lhs


More information about the Cvs-ghc mailing list