Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : overlapping-tyfams

http://hackage.haskell.org/trac/ghc/changeset/644475c36757b065eb4026890ab2c49b8d1e4498

>---------------------------------------------------------------

commit 644475c36757b065eb4026890ab2c49b8d1e4498
Author: Richard Eisenberg <[email protected]>
Date:   Tue Nov 27 17:46:49 2012 -0500

    Continued polishing of overlapping type family instances.
    
    This commit includes the following:
     - Implementation of core linting new branched coercions
     - Addition of a function tcApartTys which checks if two type lists
       are known to be apart, now and forever more. Two types are apart
       when they don't unify and neither is headed by a type family.
     - Incorporation of the apartness check in looking up an instance,
       so that a type family application is considered to potentially unify
       with anything later on.
     - Removal of the co_ax_arity field, which was never usefully used

 compiler/coreSyn/CoreLint.lhs       |   53 +++++++++++++++++++++++++++++++--
 compiler/iface/TcIface.lhs          |    2 -
 compiler/typecheck/FamInst.lhs      |    1 +
 compiler/typecheck/TcEnv.lhs        |    1 -
 compiler/typecheck/TcTyClsDecls.lhs |    2 +-
 compiler/types/Coercion.lhs         |    1 -
 compiler/types/FamInstEnv.lhs       |   41 ++++++++++++-------------
 compiler/types/TyCon.lhs            |    6 +---
 compiler/types/Unify.lhs            |   56 ++++++++++++++++++++++++++++++++++-
 9 files changed, 128 insertions(+), 35 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 644475c36757b065eb4026890ab2c49b8d1e4498

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

Reply via email to