patch applied (ghc): Straightened out implicit coercions for indexed types

chak at cse.unsw.edu.au chak at cse.unsw.edu.au
Wed Sep 20 17:19:14 EDT 2006


Wed Sep 20 11:44:04 PDT 2006  Manuel M T Chakravarty <chak at cse.unsw.edu.au>
  * Straightened out implicit coercions for indexed types
  Mon Sep 18 19:35:24 EDT 2006  Manuel M T Chakravarty <chak at cse.unsw.edu.au>
    * Straightened out implicit coercions for indexed types
    Mon Sep  4 23:46:14 EDT 2006  Manuel M T Chakravarty <chak at 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.                ***

    M ./compiler/basicTypes/MkId.lhs -8 +8
    M ./compiler/basicTypes/OccName.lhs -8 +7
    M ./compiler/iface/BuildTyCl.lhs -7 +7
    M ./compiler/iface/IfaceSyn.lhs -8 +10
    M ./compiler/iface/LoadIface.lhs -7 +21
    M ./compiler/iface/MkIface.lhs -11 +12
    M ./compiler/iface/TcIface.lhs -3 +3
    M ./compiler/main/HscTypes.lhs -7 +10
    M ./compiler/typecheck/TcInstDcls.lhs -2 +2
    M ./compiler/typecheck/TcTyClsDecls.lhs -1 +2
    M ./compiler/types/Coercion.lhs -2 +2
    M ./compiler/types/TyCon.lhs -13 +19


More information about the Cvs-ghc mailing list