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