[commit: ghc] overlapping-tyfams: Used a GADT to control appropriate use of functions on singleton axioms. (1a3c0d3)

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/1a3c0d345ba1f514f747b7791260672d74d1cd10

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

commit 1a3c0d345ba1f514f747b7791260672d74d1cd10
Author: Richard Eisenberg <[email protected]>
Date:   Sat Dec 1 17:37:13 2012 -0500

    Used a GADT to control appropriate use of functions on singleton axioms.
    
    The list of branches in CoAxioms and in FamInsts is now a BranchList b,
    where the type index b is either Branched or Unbranched. A handful
    of functions work only on singleton (unbranched) axioms, and with this
    change, the type checker verifies that we are calling these functions
    appropriately.

 compiler/basicTypes/MkId.lhs                      |   14 +-
 compiler/coreSyn/CoreLint.lhs                     |    2 +-
 compiler/coreSyn/MkExternalCore.lhs               |    2 +-
 compiler/iface/IfaceType.lhs                      |    2 +-
 compiler/iface/MkIface.lhs                        |    8 +-
 compiler/iface/TcIface.lhs                        |   11 +-
 compiler/iface/TcIface.lhs-boot                   |    4 +-
 compiler/main/GHC.hs                              |    2 +-
 compiler/main/HscTypes.lhs                        |   19 ++-
 compiler/main/TidyPgm.lhs                         |    2 +-
 compiler/typecheck/FamInst.lhs                    |   22 ++--
 compiler/typecheck/TcDeriv.lhs                    |    4 +-
 compiler/typecheck/TcEnv.lhs                      |    2 +-
 compiler/typecheck/TcEvidence.lhs                 |   16 +-
 compiler/typecheck/TcGenDeriv.lhs                 |    6 +-
 compiler/typecheck/TcGenGenerics.lhs              |    4 +-
 compiler/typecheck/TcInstDcls.lhs                 |   26 ++--
 compiler/typecheck/TcRnDriver.lhs                 |    4 +-
 compiler/typecheck/TcRnTypes.lhs                  |    2 +-
 compiler/typecheck/TcSplice.lhs                   |    8 +-
 compiler/typecheck/TcType.lhs                     |    6 +-
 compiler/types/Coercion.lhs                       |   29 ++--
 compiler/types/FamInstEnv.lhs                     |  153 +++++++++---------
 compiler/types/OptCoercion.lhs                    |    4 +-
 compiler/types/TyCon.lhs                          |  179 ++++++++++++++++-----
 compiler/types/Type.lhs                           |    2 +-
 compiler/types/TypeRep.lhs                        |    2 +-
 compiler/vectorise/Vectorise.hs                   |    3 +-
 compiler/vectorise/Vectorise/Env.hs               |    2 +-
 compiler/vectorise/Vectorise/Generic/PADict.hs    |    3 +-
 compiler/vectorise/Vectorise/Generic/PAMethods.hs |    5 +-
 compiler/vectorise/Vectorise/Generic/PData.hs     |    6 +-
 compiler/vectorise/Vectorise/Type/Env.hs          |   14 +-
 compiler/vectorise/Vectorise/Utils/PADict.hs      |    4 +-
 34 files changed, 333 insertions(+), 239 deletions(-)


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

    git show 1a3c0d345ba1f514f747b7791260672d74d1cd10
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.