[project @ 2000-11-24 09:51:03 by simonpj]
authorsimonpj <unknown>
Fri, 24 Nov 2000 09:51:04 +0000 (09:51 +0000)
committersimonpj <unknown>
Fri, 24 Nov 2000 09:51:04 +0000 (09:51 +0000)
commit562926d74281d08113893e72edcafaf39b52dafe
tree30823be2f0b01eb9781020110c10e3d49b5d8d35
parent4ccf950791a9be14cb3550761e23a72c2fb803d5
[project @ 2000-11-24 09:51:03 by simonpj]
Version management

[WARNING: may not work!  Don't update till I've tested it.]

This commit is a first stab at getting version management to
work properly.  The main trick is to get consistent naming when
comparing old and new versions of the same module.

Some functionality has moved arond between
  coreSyn/CoreTidy, which tidies up the result of
the middle end of the compiler
Main change: now responsible for figuring out which
Ids are "external" (i.e visible to importing modules),
and constructing the final IdInfo for each Id

  main/MkIface, which produces the ModIface and ModDetails
for the module being compiled
Main change: CoreTidy does more, so MkIface does less

  stgSyn/CoreToStg, which converts Core to STG
Main change: responsible for globalising internal
names when we are doing object code splitting

The game plan is documented at the top of CoreTidy.
ghc/compiler/basicTypes/Name.lhs
ghc/compiler/coreSyn/CoreTidy.lhs
ghc/compiler/main/HscMain.lhs
ghc/compiler/main/MkIface.lhs
ghc/compiler/simplStg/LambdaLift.lhs
ghc/compiler/stgSyn/CoreToStg.lhs