Fri Nov  6 09:38:01 PST 2009  [email protected]
  * Tidy up coercions, and implement csel1, csel2, cselR
  Ignore-this: 17991a7b7d1db093d1049e3315027d96
  
  In preparation for implementing the PushC rule for coercion-swizzling
  in the Simplifier, I had to inmplement the three new decomposition
  operators for coercions, which I've called csel1, csel2, and cselR.
  
       co :: ((s1~t1) => r1) ~ ((s2~t2) => r2)
       ---------------------------------------
                csel1 co :: s1~s2
  
  and similarly csel2, cselR.
  
  On the way I fixed the coercionKind function for types of form
            (s1~t2) => r2
  which currently are expressed as a forall type.  
  
  And I refactored quite a bit to help myself understand what is
  going on.

    M ./compiler/coreSyn/CoreLint.lhs -35 +73
    M ./compiler/coreSyn/CoreUtils.lhs -1 +1
    M ./compiler/coreSyn/PprCore.lhs -10 +12
    M ./compiler/prelude/PrelNames.lhs -2 +6
    M ./compiler/types/Coercion.lhs -73 +167
    M ./compiler/types/Type.lhs -3 +3
    M ./compiler/types/TypeRep.lhs -4 +7
    M ./compiler/types/Unify.lhs -1 +1

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20091106173801-1287e-8e22221a2c722135821554f43bd95eaf0bb70cd4.gz

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

Reply via email to