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

On branch  : overlapping-tyfams

http://hackage.haskell.org/trac/ghc/changeset/a70242acbebd3bacf9043b710803160c2694397f

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

commit a70242acbebd3bacf9043b710803160c2694397f
Author: Richard Eisenberg <e...@cis.upenn.edu>
Date:   Thu Oct 18 16:39:39 2012 -0400

    Reimplemented overlapping type family instances through a change
    in the CoAxiom type, instead of just a change in FamInst. The new
    CoAxiom supports multiple CoAxBranches. The use of a CoAxiom,
    say with the Coercion constructor AxiomInstCo, requires an index
    choosing which branch to use. The major changes are in
    types/FamInstEnv.hs, types/TyCon.hs, and to a lesser degree
    types/Coercion.lhs.
    
    This commit does not work, however. There is an unknown problem
    with loading iface files. Use a later commit if you want this to work.

 compiler/basicTypes/MkId.lhs                      |   33 +-
 compiler/coreSyn/CoreLint.lhs                     |   13 +-
 compiler/coreSyn/ExternalCore.lhs                 |    1 +
 compiler/coreSyn/MkExternalCore.lhs               |    3 +-
 compiler/coreSyn/TrieMap.lhs                      |   52 +-
 compiler/deSugar/DsBinds.lhs                      |    3 +-
 compiler/iface/BinIface.hs                        |   21 +-
 compiler/iface/IfaceSyn.lhs                       |   56 ++-
 compiler/iface/IfaceType.lhs                      |   11 +-
 compiler/iface/MkIface.lhs                        |   34 +-
 compiler/iface/TcIface.lhs                        |   78 ++-
 compiler/main/GHC.hs                              |    2 +-
 compiler/main/HscTypes.lhs                        |   32 +-
 compiler/typecheck/FamInst.lhs                    |   49 +-
 compiler/typecheck/TcBinds.lhs                    |    2 +-
 compiler/typecheck/TcDeriv.lhs                    |   13 +-
 compiler/typecheck/TcEnv.lhs                      |   13 +-
 compiler/typecheck/TcEvidence.lhs                 |   33 +-
 compiler/typecheck/TcExpr.lhs                     |   12 +-
 compiler/typecheck/TcForeign.lhs                  |    2 +-
 compiler/typecheck/TcGenGenerics.lhs              |    4 +-
 compiler/typecheck/TcHsSyn.lhs                    |    3 +-
 compiler/typecheck/TcInstDcls.lhs                 |   71 ++-
 compiler/typecheck/TcInteract.lhs                 |    8 +-
 compiler/typecheck/TcPat.lhs                      |    2 +-
 compiler/typecheck/TcSMonad.lhs                   |    2 +-
 compiler/typecheck/TcSplice.lhs                   |    2 +-
 compiler/typecheck/TcType.lhs                     |   25 +-
 compiler/types/Coercion.lhs                       |  125 +++--
 compiler/types/FamInstEnv.lhs                     |  683 +++++++++++++++------
 compiler/types/OptCoercion.lhs                    |   51 +-
 compiler/types/TyCon.lhs                          |   84 ++-
 compiler/types/Type.lhs                           |    8 +
 compiler/vectorise/Vectorise/Generic/PAMethods.hs |   14 +-
 compiler/vectorise/Vectorise/Monad/InstEnv.hs     |    4 +-
 compiler/vectorise/Vectorise/Utils/Base.hs        |   16 +-
 compiler/vectorise/Vectorise/Utils/PADict.hs      |    6 +-
 37 files changed, 1052 insertions(+), 519 deletions(-)


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

    git show a70242acbebd3bacf9043b710803160c2694397f

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to