• Simon Peyton Jones's avatar
    Change the representation of export lists in .hi files · fe44af73
    Simon Peyton Jones authored
    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.
Name.lhs 19.3 KB