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

Reply via email to