[commit: ghc] wip/orf-new: ghc: implement OverloadedRecordFields (c975175)

git at git.haskell.org git at git.haskell.org
Tue Oct 21 09:05:46 UTC 2014


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

On branch  : wip/orf-new
Link       : http://ghc.haskell.org/trac/ghc/changeset/c975175efcf733062c2e3fb1821dbf72f466b031/ghc

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

commit c975175efcf733062c2e3fb1821dbf72f466b031
Author: Adam Gundry <adam at well-typed.com>
Date:   Sat Oct 18 17:29:12 2014 +0100

    ghc: implement OverloadedRecordFields
    
    This fully implements the new ORF extension, developed during the Google
    Summer of Code 2013, and as described on the wiki:
    
      https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields
    
    This also updates the Haddock submodule.


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

c975175efcf733062c2e3fb1821dbf72f466b031
 compiler/basicTypes/Avail.hs                       | 149 ++++++-
 compiler/basicTypes/DataCon.lhs                    |  21 +-
 compiler/basicTypes/DataCon.lhs-boot               |   2 +
 compiler/basicTypes/FieldLabel.lhs                 | 145 +++++++
 compiler/basicTypes/Id.lhs                         |  12 +-
 compiler/basicTypes/MkId.lhs                       |   2 +-
 compiler/basicTypes/OccName.lhs                    |  32 +-
 compiler/basicTypes/RdrName.lhs                    | 152 +++++--
 compiler/basicTypes/SrcLoc.lhs                     |   8 +-
 compiler/deSugar/Check.lhs                         |   4 +-
 compiler/deSugar/Coverage.lhs                      |   4 +-
 compiler/deSugar/Desugar.lhs                       |   2 +
 compiler/deSugar/DsExpr.lhs                        |  18 +-
 compiler/deSugar/DsMeta.hs                         |   4 +-
 compiler/deSugar/DsMonad.lhs                       |   1 +
 compiler/deSugar/MatchCon.lhs                      |   4 +-
 compiler/ghc.cabal.in                              |   3 +
 compiler/ghc.mk                                    |   7 +
 compiler/hsSyn/Convert.lhs                         |  17 +-
 compiler/hsSyn/HsDecls.lhs                         |  15 +-
 compiler/hsSyn/HsExpr.lhs                          |   7 +-
 compiler/hsSyn/HsImpExp.lhs                        |  50 ++-
 compiler/hsSyn/HsPat.lhs                           |  73 +++-
 compiler/hsSyn/HsTypes.lhs                         |  72 +++-
 compiler/hsSyn/HsUtils.lhs                         |  85 ++--
 compiler/iface/BuildTyCl.lhs                       |   2 +-
 compiler/iface/IfaceSyn.lhs                        |  47 +-
 compiler/iface/LoadIface.lhs                       |  14 +-
 compiler/iface/MkIface.lhs                         |  31 +-
 compiler/iface/TcIface.lhs                         |  30 +-
 compiler/main/DynFlags.hs                          |  10 +
 compiler/main/GHC.hs                               |  19 +-
 compiler/main/HscMain.hs                           |  16 +-
 compiler/main/HscTypes.lhs                         |  27 +-
 compiler/main/InteractiveEval.hs                   |   2 +-
 compiler/main/TidyPgm.lhs                          |  10 +-
 compiler/parser/Parser.y.pp                        |   6 +-
 compiler/parser/RdrHsSyn.lhs                       |   6 +-
 compiler/prelude/PrelInfo.lhs                      |   2 +-
 compiler/prelude/PrelNames.lhs                     |  43 +-
 compiler/prelude/TysWiredIn.lhs                    |   2 +-
 compiler/rename/RnEnv.lhs                          | 305 ++++++++++---
 compiler/rename/RnExpr.lhs                         |  20 +-
 compiler/rename/RnNames.lhs                        | 449 ++++++++++++++-----
 compiler/rename/RnPat.lhs                          |  75 ++--
 compiler/rename/RnSource.lhs                       | 125 ++++--
 compiler/rename/RnTypes.lhs                        |  53 ++-
 compiler/typecheck/FamInst.lhs                     |  55 ++-
 compiler/typecheck/Inst.lhs                        |   3 +-
 compiler/typecheck/TcEnv.lhs                       |  57 +--
 compiler/typecheck/TcErrors.lhs                    |  54 ++-
 compiler/typecheck/TcEvidence.lhs                  |   1 +
 compiler/typecheck/TcExpr.lhs                      | 320 +++++++++++---
 compiler/typecheck/TcFldInsts.lhs                  | 473 +++++++++++++++++++++
 compiler/typecheck/TcGenDeriv.lhs                  |  11 +-
 compiler/typecheck/TcGenGenerics.lhs               |  16 +-
 compiler/typecheck/TcHsSyn.lhs                     |   4 +-
 compiler/typecheck/TcHsType.lhs                    |  17 +-
 compiler/typecheck/TcInstDcls.lhs                  |   2 +-
 compiler/typecheck/TcInteract.lhs                  |  65 ++-
 compiler/typecheck/TcPat.lhs                       |  24 +-
 compiler/typecheck/TcRnDriver.lhs                  |  22 +-
 compiler/typecheck/TcRnMonad.lhs                   |   5 +-
 compiler/typecheck/TcRnTypes.lhs                   |  31 +-
 compiler/typecheck/TcSMonad.lhs                    |  18 +-
 compiler/typecheck/TcSplice.lhs                    |   2 +-
 compiler/typecheck/TcTyClsDecls.lhs                |  79 ++--
 compiler/typecheck/TcType.lhs                      |   9 +
 compiler/typecheck/TcValidity.lhs                  |  19 +-
 compiler/types/TyCon.lhs                           |  52 ++-
 compiler/types/Type.lhs                            |  29 +-
 compiler/types/Type.lhs-boot                       |   2 +
 compiler/types/TypeRep.lhs                         |  44 +-
 compiler/utils/Binary.hs                           |   1 -
 compiler/utils/FastStringEnv.lhs                   |  75 ++++
 docs/users_guide/glasgow_exts.xml                  | 307 +++++++++++++
 libraries/base/GHC/Base.lhs                        |   1 +
 libraries/base/GHC/Records.hs                      | 249 +++++++++++
 libraries/base/GHC/TypeLits.hs                     |   8 +-
 libraries/base/base.cabal                          |   1 +
 testsuite/tests/driver/T4437.hs                    |   1 +
 testsuite/tests/ghci/scripts/ghci042.stdout        |   2 +-
 testsuite/tests/module/mod176.stderr               |   2 +-
 .../{annotations => overloadedrecflds}/Makefile    |   0
 .../ghci}/Makefile                                 |   0
 testsuite/tests/overloadedrecflds/ghci/all.T       |   3 +
 .../ghci/overloadedrecfldsghci01.script            |  13 +
 .../ghci/overloadedrecfldsghci01.stdout            |  11 +
 .../should_fail}/Makefile                          |   0
 .../should_fail/OverloadedRecFldsFail04_A.hs       |   9 +
 .../should_fail/OverloadedRecFldsFail06_A.hs       |  16 +
 .../should_fail/OverloadedRecFldsFail08_A.hs       |  14 +
 .../tests/overloadedrecflds/should_fail/all.T      |  16 +
 .../should_fail/overloadedrecfldsfail01.hs         |  17 +
 .../should_fail/overloadedrecfldsfail01.stderr     |  16 +
 .../should_fail/overloadedrecfldsfail02.hs         |  19 +
 .../should_fail/overloadedrecfldsfail02.stderr     |  50 +++
 .../should_fail/overloadedrecfldsfail03.hs         |   7 +
 .../should_fail/overloadedrecfldsfail03.stderr     |   5 +
 .../should_fail/overloadedrecfldsfail04.hs         |   9 +
 .../should_fail/overloadedrecfldsfail04.stderr     |   5 +
 .../should_fail/overloadedrecfldsfail05.hs         |  10 +
 .../should_fail/overloadedrecfldsfail05.stderr     |  10 +
 .../should_fail/overloadedrecfldsfail06.hs         |  10 +
 .../should_fail/overloadedrecfldsfail06.stderr     |  15 +
 .../should_fail/overloadedrecfldsfail07.hs         |  11 +
 .../should_fail/overloadedrecfldsfail07.stderr     |   6 +
 .../should_fail/overloadedrecfldsfail08.hs         |  13 +
 .../should_fail/overloadedrecfldsfail08.stderr     |  47 ++
 .../should_fail/overloadedrecfldsfail09.hs         |   9 +
 .../should_fail/overloadedrecfldsfail09.stderr     |  20 +
 .../should_fail/overloadedrecfldsfail10.hs         |  11 +
 .../should_fail/overloadedrecfldsfail10.stderr     |   9 +
 .../should_run}/Makefile                           |   0
 .../should_run/OverloadedRecFldsRun01_A.hs         |   9 +
 .../should_run/OverloadedRecFldsRun02_A.hs         |   9 +
 .../should_run/OverloadedRecFldsRun07_A.hs         |  11 +
 .../should_run/OverloadedRecFldsRun07_B.hs         |   7 +
 .../should_run/OverloadedRecFldsRun08_A.hs         |  11 +
 .../should_run/OverloadedRecFldsRun08_B.hs         |   7 +
 .../should_run/OverloadedRecFldsRun08_C.hs         |   7 +
 .../should_run/OverloadedRecFldsRun11_A.hs         |   9 +
 .../should_run/OverloadedRecFldsRun11_A.hs-boot    |   5 +
 .../should_run/OverloadedRecFldsRun11_B.hs         |   7 +
 .../should_run/OverloadedRecFldsRun12_A.hs         |  11 +
 .../should_run/OverloadedRecFldsRun12_B.hs         |   7 +
 testsuite/tests/overloadedrecflds/should_run/all.T |  26 ++
 .../should_run/overloadedrecfldsrun01.hs           |  70 +++
 .../should_run/overloadedrecfldsrun01.stdout       |  13 +
 .../should_run/overloadedrecfldsrun02.hs           |   6 +
 .../should_run/overloadedrecfldsrun02.stdout       |   0
 .../should_run/overloadedrecfldsrun03.hs           |  18 +
 .../should_run/overloadedrecfldsrun03.stdout       |   4 +
 .../should_run/overloadedrecfldsrun04.hs           |  18 +
 .../should_run/overloadedrecfldsrun04.stdout       |   3 +
 .../should_run/overloadedrecfldsrun05.hs           |  34 ++
 .../should_run/overloadedrecfldsrun05.stdout       |   2 +
 .../should_run/overloadedrecfldsrun06.hs           |  28 ++
 .../should_run/overloadedrecfldsrun06.stdout       |   1 +
 .../should_run/overloadedrecfldsrun07.hs           |   7 +
 .../should_run/overloadedrecfldsrun07.stdout}      |   0
 .../should_run/overloadedrecfldsrun08.hs           |   7 +
 .../should_run/overloadedrecfldsrun08.stdout       |   2 +
 .../should_run/overloadedrecfldsrun09.hs           |   8 +
 .../should_run/overloadedrecfldsrun09.stdout       |   2 +
 .../should_run/overloadedrecfldsrun10.hs           |  12 +
 .../should_run/overloadedrecfldsrun10.stderr       |   2 +
 .../should_run/overloadedrecfldsrun11.hs           |   5 +
 .../should_run/overloadedrecfldsrun11.stdout}      |   0
 .../should_run/overloadedrecfldsrun12.hs           |   6 +
 .../should_run/overloadedrecfldsrun12.stdout       |   2 +
 .../should_run/overloadedrecfldsrun13.hs           |   9 +
 .../should_run/overloadedrecfldsrun13.stdout}      |   0
 testsuite/tests/rename/should_fail/T5892a.stderr   |   2 +-
 .../tests/typecheck/should_fail/tcfail102.stderr   |   3 +-
 utils/ghctags/Main.hs                              |   2 +-
 utils/haddock                                      |   2 +-
 157 files changed, 4277 insertions(+), 742 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 c975175efcf733062c2e3fb1821dbf72f466b031


More information about the ghc-commits mailing list