Keep track of family instance modules
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>
Fri, 13 Oct 2006 00:42:23 +0000 (00:42 +0000)
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>
Fri, 13 Oct 2006 00:42:23 +0000 (00:42 +0000)
commit311b1cdfc9b1c311cc53482c461c18cba8885b2a
treed3c228574136d2c2170da99f521d4cb449cb7140
parent8a5d47de2b82d9cca86546a7bd89d915488934ef
Keep track of family instance modules
- Now each modules carries
  (1) a flag saying whether it contains family instance declarations and
  (2) a list of all modules further down in the import tree that contain
      family instance declarations.
  (The information is split into these two parts for the exact same reasons why
  the info about orphan modules is split, too.)
- This is the first step to *optimised* overlap checking of family instances
  coming from imported modules.

*** WARNING: This patch changes the interface file format! ***
***          Recompile libraries and stage2 from scratch!  ***
compiler/deSugar/Desugar.lhs
compiler/iface/BinIface.hs
compiler/iface/IfaceSyn.lhs
compiler/iface/IfaceType.lhs
compiler/iface/LoadIface.lhs
compiler/iface/MkIface.lhs
compiler/main/HscTypes.lhs
compiler/rename/RnNames.lhs
compiler/typecheck/TcRnDriver.lhs
compiler/typecheck/TcRnTypes.lhs