[commit: ghc] overlapping-tyfams: Continued polishing of overlapping type family instances. (644475c)

Richard Eisenberg <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.