Skip to content
  • chak@cse.unsw.edu.au.'s avatar
    Straightened out implicit coercions for indexed types · d76c18e0
    chak@cse.unsw.edu.au. authored
    Mon Sep 18 19:35:24 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
      * Straightened out implicit coercions for indexed types
      Mon Sep  4 23:46:14 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
        * Straightened out implicit coercions for indexed types
        - HscTypes.implicitTyThings and LoadIface.ifaceDeclSubBndrs now
          include the coercion of indexed data/newtypes.
        - Name generation for the internal names of indexed data/newtypes now uses
          the same counter that generates the dfun unique indexes (ie, class and type
          instances are counted with the one counter).  We could make this two 
          separate counters if that's what's preferred.
        - The unique index of a data/newtype instances needs to go into the iface, so
          that we can generate the same names on slurping in the iface as when the
          original module was generated.  This is a bit yucky, but I don't see a way
          to avoid that (other than putting the full blown internal tycon name and 
          coercion name into the iface, which IMHO would be worse).
        - The predicate for when a datacon has a wrapper didn't take GADT
          equations nor whether it comes froma  family instance into account.
        
        *** WARNING!  This patch changed the interface file format. ***
        ***           Please recompile from scratch.                ***
    d76c18e0