simonpj 2002/10/24 07:17:53 PDT
Modified files:
ghc/compiler/basicTypes Module.lhs Name.lhs
ghc/compiler/deSugar Desugar.lhs DsMeta.hs
ghc/compiler/hsSyn HsDecls.lhs
ghc/compiler/ilxGen IlxGen.lhs
ghc/compiler/main BinIface.hs DriverPipeline.hs
DriverState.hs HscMain.lhs HscTypes.lhs
MkIface.lhs Packages.lhs TidyPgm.lhs
ghc/compiler/parser Parser.y
ghc/compiler/prelude PrelNames.lhs TysWiredIn.lhs
ghc/compiler/rename RnEnv.lhs RnHiFiles.lhs RnIfaces.lhs
RnNames.lhs
ghc/compiler/typecheck TcRnDriver.lhs TcRnMonad.lhs
TcRnTypes.lhs
Log:
------------------------------------------
1. New try and module and package dependencies
2. OrigNameCache always contains final info
------------------------------------------
These things nearly complete sorting out the incremental
linking problem that started us off!
1. This commit separates two kinds of information:
(a) HscTypes.Dependencies:
What (i) home-package modules, and
(ii) other packages
this module depends on, transitively.
That is, to link the module, it should be enough
to link the dependent modules and packages (plus
any C stubs etc).
Along with this info we record whether the dependent module
is (a) a boot interface or (b) an orphan module. So in
fact (i) can contain non-home-package modules, namely the
orphan ones in other packages (sigh).
(b) HscTypes.Usage:
What version of imported things were used to
actually compile the module. This info is used for
recompilation control only.
2. The Finder now returns a correct Module (incl package indicator)
first time, so we can install the absolutely final Name in the
OrigNameCache when we first come across an occurrence of that name,
even if it's only an occurrence in an unfolding in some other interface
file. This is much tidier.
As a result Module.lhs is much cleaner
No DunnoYet
No mkVanillaModule
ALl very joyful stuff.
Revision Changes Path
1.54 +15 -29 fptools/ghc/compiler/basicTypes/Module.lhs
1.101 +4 -4 fptools/ghc/compiler/basicTypes/Name.lhs
1.56 +3 -1 fptools/ghc/compiler/deSugar/Desugar.lhs
1.10 +97 -82 fptools/ghc/compiler/deSugar/DsMeta.hs
1.95 +4 -1 fptools/ghc/compiler/hsSyn/HsDecls.lhs
1.29 +8 -8 fptools/ghc/compiler/ilxGen/IlxGen.lhs
1.11 +24 -32 fptools/ghc/compiler/main/BinIface.hs
1.141 +2 -2 fptools/ghc/compiler/main/DriverPipeline.hs
1.84 +3 -3 fptools/ghc/compiler/main/DriverState.hs
1.169 +8 -8 fptools/ghc/compiler/main/HscMain.lhs
1.99 +48 -54 fptools/ghc/compiler/main/HscTypes.lhs
1.162 +104 -131 fptools/ghc/compiler/main/MkIface.lhs
1.11 +4 -3 fptools/ghc/compiler/main/Packages.lhs
1.6 +8 -10 fptools/ghc/compiler/main/TidyPgm.lhs
1.112 +2 -1 fptools/ghc/compiler/parser/Parser.y
1.66 +21 -29 fptools/ghc/compiler/prelude/PrelNames.lhs
1.84 +3 -3 fptools/ghc/compiler/prelude/TysWiredIn.lhs
1.156 +101 -85 fptools/ghc/compiler/rename/RnEnv.lhs
1.73 +36 -87 fptools/ghc/compiler/rename/RnHiFiles.lhs
1.156 +27 -32 fptools/ghc/compiler/rename/RnIfaces.lhs
1.139 +89 -34 fptools/ghc/compiler/rename/RnNames.lhs
1.11 +8 -5 fptools/ghc/compiler/typecheck/TcRnDriver.lhs
1.8 +8 -6 fptools/ghc/compiler/typecheck/TcRnMonad.lhs
1.11 +63 -61 fptools/ghc/compiler/typecheck/TcRnTypes.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc