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 <[email protected]> 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 _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
