Thu Nov 12 01:29:06 PST 2009  [email protected]
  * A radical overhaul of the coercion infrastucture
  Ignore-this: e5f757a7d5b0225a9034ae9daf9850d1
  
  * Core Lint now does full checking of kinds and coercion terms
    which picks up kind errors in coercions that were previously
    simply not checked for
  
  * Coercion.lhs now provides optCoercion which optimises coercion
    terms.  It implements all of Dimitrios's rules
  
  * The constructors for coercion terms now make no attempt to be
    "smart"; instead we rely solely on the coercion optimiser
  
  * CoercionTyCons in TyCon.lhs always had a "custom" kinding rule
    (the coKindFun field of CoercionTyCon) but its type was not 
    clever enough to do both 
       (a) *figure out the result kind*, assuming the whole thing
           is well-kinded in the first place
       (b) *check* the kinds of everything, failing gracefully if
           they aren't right. 
    We need (b) for the new CoreLint stuff. The field now has type
          CoTyConKindChecker
    which does the job nicely.

    M ./compiler/coreSyn/CoreArity.lhs -1 +1
    M ./compiler/coreSyn/CoreLint.lhs -75 +255
    M ./compiler/prelude/PrelNames.lhs +7
    M ./compiler/types/Coercion.lhs -395 +339
    M ./compiler/types/TyCon.lhs -32 +74
    M ./compiler/types/Type.lhs -8 +14

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20091112092906-1287e-7dcb2198bac9110296ecba760c6a157821e260a0.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to