[commit: ghc] master: Injective type families (3744578)

git at git.haskell.org git at git.haskell.org
Thu Sep 3 03:54:20 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/374457809de343f409fbeea0a885877947a133a2/ghc

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

commit 374457809de343f409fbeea0a885877947a133a2
Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
Date:   Fri Jul 11 13:54:45 2014 +0200

    Injective type families
    
    For details see #6018, Phab:D202 and the wiki page:
    
    https://ghc.haskell.org/trac/ghc/wiki/InjectiveTypeFamilies
    
    This patch also wires-in Maybe data type and updates haddock submodule.
    
    Test Plan: ./validate
    
    Reviewers: simonpj, goldfire, austin, bgamari
    
    Subscribers: mpickering, bgamari, alanz, thomie, goldfire, simonmar,
                 carter
    
    Differential Revision: https://phabricator.haskell.org/D202
    
    GHC Trac Issues: #6018


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

374457809de343f409fbeea0a885877947a133a2
 compiler/basicTypes/MkId.hs                        |   8 +-
 compiler/basicTypes/VarSet.hs                      |   5 +-
 compiler/coreSyn/MkCore.hs                         |  21 ++
 compiler/deSugar/DsMeta.hs                         | 180 +++++++----
 compiler/hsSyn/Convert.hs                          |  56 +++-
 compiler/hsSyn/HsDecls.hs                          | 335 +++++++++++++++------
 compiler/hsSyn/HsTypes.hs                          |   2 +-
 compiler/hsSyn/PlaceHolder.hs                      |   2 +-
 compiler/iface/BuildTyCl.hs                        |  22 +-
 compiler/iface/IfaceSyn.hs                         |  35 ++-
 compiler/iface/MkIface.hs                          |   9 +-
 compiler/iface/TcIface.hs                          |  11 +-
 compiler/main/GHC.hs                               |   4 +-
 compiler/parser/ApiAnnotation.hs                   |   2 +-
 compiler/parser/Parser.y                           |  79 +++--
 compiler/parser/RdrHsSyn.hs                        |  29 +-
 compiler/prelude/PrelNames.hs                      |  26 +-
 compiler/prelude/THNames.hs                        | 196 ++++++------
 compiler/prelude/TysPrim.hs                        |   3 +-
 compiler/prelude/TysWiredIn.hs                     |  38 ++-
 compiler/rename/RnSource.hs                        | 164 +++++++++-
 compiler/rename/RnTypes.hs                         |  58 ++--
 compiler/typecheck/FamInst.hs                      | 187 ++++++++++--
 compiler/typecheck/TcCanonical.hs                  |   6 +-
 compiler/typecheck/TcEnv.hs                        |   3 +-
 compiler/typecheck/TcEvidence.hs                   |   4 +-
 compiler/typecheck/TcHsType.hs                     |  18 +-
 compiler/typecheck/TcInstDcls.hs                   |  16 +-
 compiler/typecheck/TcInteract.hs                   | 318 +++++++++++++------
 compiler/typecheck/TcMType.hs                      |  27 +-
 compiler/typecheck/TcRnDriver.hs                   |   6 +-
 compiler/typecheck/TcRnMonad.hs                    |  13 +
 compiler/typecheck/TcSMonad.hs                     | 166 ++++++----
 compiler/typecheck/TcSplice.hs                     |  78 +++--
 compiler/typecheck/TcTyClsDecls.hs                 | 182 ++++++-----
 compiler/typecheck/TcTypeNats.hs                   |  12 +-
 compiler/typecheck/TcValidity.hs                   |  72 ++++-
 compiler/types/CoAxiom.hs                          |  18 +-
 compiler/types/Coercion.hs                         |   3 +-
 compiler/types/FamInstEnv.hs                       | 335 ++++++++++++++++++---
 compiler/types/Kind.hs                             |  11 +-
 compiler/types/OptCoercion.hs                      |   4 +-
 compiler/types/TyCon.hs                            |  81 ++++-
 compiler/types/TypeRep.hs                          |  11 +-
 compiler/types/TypeRep.hs-boot                     |   3 +
 compiler/types/Unify.hs                            |  61 +++-
 compiler/utils/Outputable.hs                       |  22 +-
 compiler/utils/UniqFM.hs                           |   3 +
 docs/users_guide/7.12.1-notes.xml                  |  10 +
 docs/users_guide/glasgow_exts.xml                  | 105 +++++++
 libraries/template-haskell/Language/Haskell/TH.hs  |  13 +-
 .../template-haskell/Language/Haskell/TH/Lib.hs    |  86 ++++--
 .../template-haskell/Language/Haskell/TH/Ppr.hs    |  61 ++--
 .../template-haskell/Language/Haskell/TH/PprLib.hs |   4 +-
 .../template-haskell/Language/Haskell/TH/Syntax.hs |  29 +-
 .../tests/ghci.debugger/scripts/print019.stderr    |   2 +-
 testsuite/tests/ghci/scripts/T6018ghci.script      |  22 ++
 .../tests/ghci/scripts/T6018ghci.stdout            |   0
 testsuite/tests/ghci/scripts/T6018ghcifail.script  | 114 +++++++
 testsuite/tests/ghci/scripts/T6018ghcifail.stderr  | 111 +++++++
 .../tests/ghci/scripts/T6018ghcirnfail.script      |  42 +++
 .../tests/ghci/scripts/T6018ghcirnfail.stderr      |  63 ++++
 testsuite/tests/ghci/scripts/all.T                 |   3 +
 .../indexed-types/should_compile/T9085.stderr      |   2 +-
 testsuite/tests/indexed-types/should_fail/T9160.hs |   3 +-
 .../should_fail/overloadedlistsfail01.stderr       |   2 +-
 testsuite/tests/quotes/TH_localname.stderr         |   3 +-
 testsuite/tests/rename/should_fail/T6018rnfail.hs  |  54 ++++
 .../tests/rename/should_fail/T6018rnfail.stderr    |  71 +++++
 testsuite/tests/rename/should_fail/all.T           |   1 +
 testsuite/tests/rename/should_fail/mc14.stderr     |   3 +-
 testsuite/tests/th/ClosedFam2TH.hs                 |  22 +-
 testsuite/tests/th/T10306.hs                       |   4 +-
 testsuite/tests/th/T6018th.hs                      | 120 ++++++++
 testsuite/tests/th/T6018th.stderr                  |   6 +
 testsuite/tests/th/T8028.hs                        |   4 +-
 testsuite/tests/th/T8028a.hs                       |   2 +-
 testsuite/tests/th/T8884.hs                        |  13 +-
 testsuite/tests/th/T8884.stderr                    |   7 +-
 testsuite/tests/th/TH_RichKinds2.hs                |   4 +-
 testsuite/tests/th/TH_reifyDecl1.hs                |   2 -
 testsuite/tests/th/all.T                           |   1 +
 testsuite/tests/typecheck/should_compile/T6018.hs  | 254 ++++++++++++++++
 .../tests/typecheck/should_compile/T6018.hs-boot   |   7 +
 .../tests/typecheck/should_compile/T6018.stderr    |  11 +
 testsuite/tests/typecheck/should_compile/T6018a.hs |  11 +
 testsuite/tests/typecheck/should_compile/all.T     |   4 +
 .../tests/typecheck/should_compile/holes2.stderr   |   2 +-
 testsuite/tests/typecheck/should_compile/tc265.hs  |   8 +
 .../tests/typecheck/should_compile/tc265.stderr    |   4 +
 .../tests/typecheck/should_fail/T6018Afail.hs      |   7 +
 .../tests/typecheck/should_fail/T6018Bfail.hs      |   5 +
 .../tests/typecheck/should_fail/T6018Cfail.hs      |   8 +
 .../tests/typecheck/should_fail/T6018Dfail.hs      |   7 +
 testsuite/tests/typecheck/should_fail/T6018fail.hs | 134 +++++++++
 .../tests/typecheck/should_fail/T6018fail.stderr   | 149 +++++++++
 .../typecheck/should_fail/T6018failclosed1.hs      |  11 +
 .../typecheck/should_fail/T6018failclosed1.stderr  |   7 +
 .../typecheck/should_fail/T6018failclosed10.hs     |  17 ++
 .../typecheck/should_fail/T6018failclosed10.stderr |   9 +
 .../typecheck/should_fail/T6018failclosed11.hs     |  15 +
 .../typecheck/should_fail/T6018failclosed11.stderr |   7 +
 .../typecheck/should_fail/T6018failclosed12.hs     |   7 +
 .../typecheck/should_fail/T6018failclosed12.stderr |   8 +
 .../typecheck/should_fail/T6018failclosed2.hs      |  12 +
 .../typecheck/should_fail/T6018failclosed2.stderr  |  16 +
 .../typecheck/should_fail/T6018failclosed3.hs      |   8 +
 .../typecheck/should_fail/T6018failclosed3.stderr  |   8 +
 .../typecheck/should_fail/T6018failclosed4.hs      |  10 +
 .../typecheck/should_fail/T6018failclosed4.stderr  |   8 +
 .../typecheck/should_fail/T6018failclosed5.hs      |  12 +
 .../typecheck/should_fail/T6018failclosed5.stderr  |   8 +
 .../typecheck/should_fail/T6018failclosed6.hs      |   7 +
 .../typecheck/should_fail/T6018failclosed6.stderr  |   9 +
 .../typecheck/should_fail/T6018failclosed7.hs      |   8 +
 .../typecheck/should_fail/T6018failclosed7.stderr  |   7 +
 .../typecheck/should_fail/T6018failclosed8.hs      |   8 +
 .../typecheck/should_fail/T6018failclosed8.stderr  |   7 +
 .../typecheck/should_fail/T6018failclosed9.hs      |   8 +
 .../typecheck/should_fail/T6018failclosed9.stderr  |   8 +
 testsuite/tests/typecheck/should_fail/T9201.stderr |   2 +-
 testsuite/tests/typecheck/should_fail/T9260.stderr |   5 +-
 testsuite/tests/typecheck/should_fail/all.T        |  18 ++
 .../tests/typecheck/should_fail/tcfail072.stderr   |   2 +-
 .../tests/typecheck/should_fail/tcfail133.stderr   |   3 +-
 .../tests/typecheck/should_fail/tcfail181.stderr   |   2 +-
 utils/haddock                                      |   2 +-
 127 files changed, 3962 insertions(+), 842 deletions(-)

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

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 374457809de343f409fbeea0a885877947a133a2


More information about the ghc-commits mailing list