• Simon Peyton Jones's avatar
    The final batch of changes for the new coercion representation · c8c2f6bb
    Simon Peyton Jones authored
    * Fix bugs in the packing and unpacking of data
      constructors with equality predicates in their types
    
    * Remove PredCo altogether; instead, coercions between predicated
      types (like  (Eq a, [a]~b) => blah) are treated as if they
      were precisely their underlying representation type
           Eq a -> ((~) [a] b) -> blah
      in this case
    
    * Similarly, Type.coreView no longer treats equality
      predciates specially.
    
    * Implement the cast-of-coercion optimisation in
      Simplify.simplCoercionF
    
    Numerous other small bug-fixes and refactorings.
    
    Annoyingly, OptCoercion had Windows line endings, and this
    patch switches to Unix, so it looks as if every line has changed.
    c8c2f6bb
DsUtils.lhs 28 KB