[commit: ghc] master: Re-add FunTy (big patch) (77bb092)

git at git.haskell.org git at git.haskell.org
Wed Jun 15 16:32:29 UTC 2016


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/77bb09270c70455bbd547470c4e995707d19f37d/ghc

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

commit 77bb09270c70455bbd547470c4e995707d19f37d
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Fri May 27 15:26:46 2016 +0100

    Re-add FunTy (big patch)
    
    With TypeInType Richard combined ForAllTy and FunTy, but that was often
    awkward, and yielded little benefit becuase in practice the two were
    always treated separately.  This patch re-introduces FunTy.  Specfically
    
    * New type
        data TyVarBinder = TvBndr TyVar VisibilityFlag
      This /always/ has a TyVar it.  In many places that's just what
      what we want, so there are /lots/ of TyBinder -> TyVarBinder changes
    
    * TyBinder still exists:
        data TyBinder = Named TyVarBinder | Anon Type
    
    * data Type = ForAllTy TyVarBinder Type
                | FunTy Type Type
                |  ....
    
    There are a LOT of knock-on changes, but they are all routine.
    
    The Haddock submodule needs to be updated too


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

77bb09270c70455bbd547470c4e995707d19f37d
 compiler/basicTypes/DataCon.hs                     | 112 ++---
 compiler/basicTypes/DataCon.hs-boot                |   8 +-
 compiler/basicTypes/MkId.hs                        |  17 +-
 compiler/basicTypes/PatSyn.hs                      |  42 +-
 compiler/codeGen/StgCmmClosure.hs                  |   8 +-
 compiler/coreSyn/CoreArity.hs                      |  29 +-
 compiler/coreSyn/CoreFVs.hs                        |   6 +-
 compiler/coreSyn/CoreLint.hs                       |  21 +-
 compiler/coreSyn/CoreUtils.hs                      |   2 +-
 compiler/coreSyn/TrieMap.hs                        |  16 +-
 compiler/deSugar/DsBinds.hs                        |   2 +-
 compiler/deSugar/DsForeign.hs                      |  28 +-
 compiler/hsSyn/HsUtils.hs                          |   4 +-
 compiler/iface/BuildTyCl.hs                        |  60 ++-
 compiler/iface/IfaceSyn.hs                         |   4 +-
 compiler/iface/IfaceType.hs                        |  76 ++--
 compiler/iface/MkIface.hs                          |  23 +-
 compiler/iface/TcIface.hs                          |  33 +-
 compiler/main/HscTypes.hs                          |   8 +-
 compiler/prelude/TysPrim.hs                        |  14 +-
 compiler/prelude/TysWiredIn.hs                     |  15 +-
 compiler/simplCore/SetLevels.hs                    |   4 +-
 compiler/simplCore/Simplify.hs                     |   8 +-
 compiler/specialise/SpecConstr.hs                  |   2 +-
 compiler/specialise/Specialise.hs                  |   2 +-
 compiler/typecheck/FamInst.hs                      |   4 +-
 compiler/typecheck/Inst.hs                         |  24 +-
 compiler/typecheck/TcArrows.hs                     |   2 +-
 compiler/typecheck/TcBinds.hs                      |   8 +-
 compiler/typecheck/TcCanonical.hs                  |  12 +-
 compiler/typecheck/TcDeriv.hs                      |   4 +-
 compiler/typecheck/TcErrors.hs                     |  20 +-
 compiler/typecheck/TcExpr.hs                       |  13 +-
 compiler/typecheck/TcFlatten.hs                    |   8 +-
 compiler/typecheck/TcForeign.hs                    |   8 +-
 compiler/typecheck/TcGenDeriv.hs                   |  11 +-
 compiler/typecheck/TcHsSyn.hs                      |   6 +-
 compiler/typecheck/TcHsType.hs                     |  41 +-
 compiler/typecheck/TcInstDcls.hs                   |   2 +-
 compiler/typecheck/TcInteract.hs                   |   4 +-
 compiler/typecheck/TcMType.hs                      |   6 +-
 compiler/typecheck/TcMatches.hs                    |   8 +-
 compiler/typecheck/TcPatSyn.hs                     |  74 ++-
 compiler/typecheck/TcRnDriver.hs                   |  15 +-
 compiler/typecheck/TcRnTypes.hs                    |   2 +-
 compiler/typecheck/TcSMonad.hs                     |   8 +-
 compiler/typecheck/TcSigs.hs                       |   4 +-
 compiler/typecheck/TcSplice.hs                     |   7 +-
 compiler/typecheck/TcTyClsDecls.hs                 |  21 +-
 compiler/typecheck/TcTyDecls.hs                    |  35 +-
 compiler/typecheck/TcType.hs                       | 117 ++---
 compiler/typecheck/TcUnify.hs                      |  17 +-
 compiler/typecheck/TcValidity.hs                   |  21 +-
 compiler/types/Coercion.hs                         |  13 +-
 compiler/types/FamInstEnv.hs                       |  27 +-
 compiler/types/Kind.hs                             |   1 +
 compiler/types/TyCoRep.hs                          | 251 ++++++-----
 compiler/types/TyCoRep.hs-boot                     |   3 +-
 compiler/types/TyCon.hs                            |  33 +-
 compiler/types/Type.hs                             | 496 +++++++++++----------
 compiler/types/Type.hs-boot                        |   2 +-
 compiler/types/Unify.hs                            |  10 +-
 compiler/vectorise/Vectorise/Convert.hs            |   3 +-
 compiler/vectorise/Vectorise/Generic/PData.hs      |   8 +-
 compiler/vectorise/Vectorise/Type/TyConDecl.hs     |   4 +-
 compiler/vectorise/Vectorise/Type/Type.hs          |   2 +-
 compiler/vectorise/Vectorise/Utils/PADict.hs       |   4 +-
 libraries/Win32                                    |   2 +-
 libraries/bytestring                               |   2 +-
 libraries/hpc                                      |   2 +-
 libraries/time                                     |   2 +-
 libraries/vector                                   |   2 +-
 nofib                                              |   2 +-
 .../tests/dependent/should_fail/T11334b.stderr     |   6 +-
 testsuite/tests/ghci/scripts/T7587.stdout          |   2 +-
 testsuite/tests/ghci/scripts/T7730.stdout          |   4 +-
 .../partial-sigs/should_compile/T10403.stderr      |  39 +-
 .../partial-sigs/should_compile/T11192.stderr      |  23 +-
 .../tests/partial-sigs/should_fail/T10045.stderr   |  11 +-
 testsuite/tests/polykinds/T9017.stderr             |   5 +-
 .../tests/typecheck/should_fail/VtaFail.stderr     |   2 +-
 utils/haddock                                      |   2 +-
 82 files changed, 1008 insertions(+), 1001 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 77bb09270c70455bbd547470c4e995707d19f37d


More information about the ghc-commits mailing list