Wed Sep 20 11:36:46 PDT 2006  Manuel M T Chakravarty <[EMAIL PROTECTED]>
  * Introduce coercions for data instance decls
  Mon Sep 18 19:07:30 EDT 2006  Manuel M T Chakravarty <[EMAIL PROTECTED]>
    * Introduce coercions for data instance decls
    Tue Aug 22 20:33:46 EDT 2006  Manuel M T Chakravarty <[EMAIL PROTECTED]>
      * Introduce coercions for data instance decls
      - data instance declarations implicitly generate a coercion moving 
between the
        representation type and family instance type.
      - The coercion is *implicitly* generated when type checking both source 
and 
        ifaces.  Ie, we don't safe it in ifaces - this is really exactly as 
newtype 
        coercions are handled.
      - The previous addition of the instance types to DataCons has been moved 
to 
        the representation TyCon.  This is more efficient as it is shared 
between all
        constructors of one representation tycon and it also gathers everything 
about
        data instances (family tycon, instance types, and coercion) in one 
place: the
        algTcParent field of TyCon.
      - The coercion is already used in the datacon wrappers, but not yet 
during type
        checking pattern matching of indexed data types.
      - The code has only been lightly tested, but doesn't seem to break 
features not
        related to indexed types.  For indexed data types only the pattern 
matching
        tc code (in TcPat.tcConPat) and some well-formedness checks are still 
        missing.  And there will surely be some bugs to fix.  (newtypes still 
require
        some more work.)
      
           ** WARNING: Interface file format changed! **
           **          Recompile from scratch!        **

    M ./compiler/basicTypes/DataCon.lhs -23 +7
    M ./compiler/basicTypes/MkId.lhs -18 +32
    M ./compiler/basicTypes/OccName.lhs -3 +24
    M ./compiler/iface/BinIface.hs -4 +2
    M ./compiler/iface/BuildTyCl.lhs -23 +51
    M ./compiler/iface/IfaceSyn.lhs -14 +18
    M ./compiler/iface/MkIface.lhs -7 +9
    M ./compiler/iface/TcIface.lhs -14 +11
    M ./compiler/prelude/TysWiredIn.lhs -1
    M ./compiler/typecheck/TcTyClsDecls.lhs -11 +7
    M ./compiler/types/Coercion.lhs -2 +26
    M ./compiler/types/TyCon.lhs -9 +32
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to