[commit: ghc] ghc-7.2: Change the representation of export lists in .hi files (c2b8eb6)
Ian Lynagh
igloo at earth.li
Thu Aug 4 17:02:10 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : ghc-7.2
http://hackage.haskell.org/trac/ghc/changeset/c2b8eb609c802b6733de24c4ce9e18890aa9830c
>---------------------------------------------------------------
commit c2b8eb609c802b6733de24c4ce9e18890aa9830c
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Tue Aug 2 10:43:57 2011 +0100
Change the representation of export lists in .hi files
Currently export list in .hi files are partitioned by module
export M T(C1,C2)
N f,g
In each list we only have OccNames, all assumed to come from
the parent module M or N resp.
This patch changes the representatation so that export lists
have full Names:
export M.T(M.C1,M.C2), N.f, N.g
Numerous advatages
* AvailInfo no longer needs to be parameterised; it always
contains Names
* Fixes Trac #5306. This was the main provocation
* Less to-and-fro conversion when reading interface files
It's all generally simpler. Interface files should not get bigger,
becuase they have a nice compact representation for Names.
compiler/basicTypes/Name.lhs | 22 +++++-
compiler/iface/BinIface.hs | 2 +-
compiler/iface/IfaceEnv.lhs | 20 +-----
compiler/iface/LoadIface.lhs | 19 ++---
compiler/iface/MkIface.lhs | 55 ++-----------
compiler/main/HscTypes.lhs | 50 +++++++-----
compiler/prelude/PrelInfo.lhs | 23 +++---
compiler/rename/RnEnv.lhs | 12 +--
compiler/rename/RnNames.lhs | 174 +++++++++++++++++++----------------------
compiler/rename/RnSource.lhs | 2 +-
10 files changed, 166 insertions(+), 213 deletions(-)
Diff suppressed because of size. To see it, use:
git show c2b8eb609c802b6733de24c4ce9e18890aa9830c
More information about the Cvs-ghc
mailing list