[commit: ghc] wip/orf: ghc: implement OverloadedRecordFields (fe77cbf)

git at git.haskell.org git at git.haskell.org
Tue Apr 22 11:17:21 UTC 2014


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

On branch  : wip/orf
Link       : http://ghc.haskell.org/trac/ghc/changeset/fe77cbf15dd44bb72943357d65bd8adf9f4deee5/ghc

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

commit fe77cbf15dd44bb72943357d65bd8adf9f4deee5
Author: Adam Gundry <adam at well-typed.com>
Date:   Tue Apr 22 02:12:03 2014 -0500

    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.
    
    Reviewed-by: Simon Peyton Jones <simonpj at microsoft.com>
    Signed-off-by: Austin Seipp <austin at well-typed.com>


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

fe77cbf15dd44bb72943357d65bd8adf9f4deee5
 compiler/basicTypes/Avail.hs                       |  149 ++++++-
 compiler/basicTypes/DataCon.lhs                    |   21 +-
 compiler/basicTypes/DataCon.lhs-boot               |    2 +
 compiler/basicTypes/FieldLabel.lhs                 |  128 ++++++
 compiler/basicTypes/Id.lhs                         |   12 +-
 compiler/basicTypes/MkId.lhs                       |    2 +-
 compiler/basicTypes/OccName.lhs                    |    8 +
 compiler/basicTypes/RdrName.lhs                    |  123 +++--
 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                      |    6 +-
 compiler/ghc.cabal.in                              |    3 +
 compiler/ghc.mk                                    |    7 +
 compiler/hsSyn/Convert.lhs                         |   23 +-
 compiler/hsSyn/HsDecls.lhs                         |    6 +
 compiler/hsSyn/HsExpr.lhs                          |    5 +-
 compiler/hsSyn/HsImpExp.lhs                        |   33 +-
 compiler/hsSyn/HsPat.lhs                           |   39 +-
 compiler/hsSyn/HsTypes.lhs                         |   51 ++-
 compiler/hsSyn/HsUtils.lhs                         |   80 ++--
 compiler/iface/BuildTyCl.lhs                       |    2 +-
 compiler/iface/IfaceSyn.lhs                        |   52 +--
 compiler/iface/LoadIface.lhs                       |   19 +-
 compiler/iface/MkIface.lhs                         |   27 +-
 compiler/iface/TcIface.lhs                         |   36 +-
 compiler/main/DynFlags.hs                          |    9 +
 compiler/main/GHC.hs                               |   19 +-
 compiler/main/HscMain.hs                           |   16 +-
 compiler/main/HscTypes.lhs                         |   27 +-
 compiler/main/InteractiveEval.hs                   |    2 +-
 compiler/main/PprTyThing.hs                        |   12 +-
 compiler/main/TidyPgm.lhs                          |   12 +-
 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                          |  321 ++++++++++---
 compiler/rename/RnExpr.lhs                         |   20 +-
 compiler/rename/RnNames.lhs                        |  470 +++++++++++++++-----
 compiler/rename/RnPat.lhs                          |   75 ++--
 compiler/rename/RnSource.lhs                       |   90 ++--
 compiler/rename/RnTypes.lhs                        |   53 ++-
 compiler/typecheck/FamInst.lhs                     |   53 ++-
 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                  |  468 +++++++++++++++++++
 compiler/typecheck/TcGenDeriv.lhs                  |   11 +-
 compiler/typecheck/TcGenGenerics.lhs               |   16 +-
 compiler/typecheck/TcHsSyn.lhs                     |    4 +-
 compiler/typecheck/TcHsType.lhs                    |   16 +-
 compiler/typecheck/TcInstDcls.lhs                  |    4 +-
 compiler/typecheck/TcInteract.lhs                  |   65 ++-
 compiler/typecheck/TcPat.lhs                       |   24 +-
 compiler/typecheck/TcRnDriver.lhs                  |   25 +-
 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                           |   54 ++-
 compiler/types/Type.lhs                            |   29 +-
 compiler/types/Type.lhs-boot                       |    2 +
 compiler/types/TypeRep.lhs                         |   43 +-
 compiler/utils/Binary.hs                           |    1 -
 compiler/utils/FastStringEnv.lhs                   |   77 ++++
 docs/users_guide/glasgow_exts.xml                  |  307 +++++++++++++
 libraries/base/GHC/Base.lhs                        |    3 +
 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, 4131 insertions(+), 759 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 fe77cbf15dd44bb72943357d65bd8adf9f4deee5


More information about the ghc-commits mailing list