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
