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

Chris Dornan chris at chrisdornan.com
Tue Apr 22 13:22:48 UTC 2014


Marvellous

On 22/04/2014 12:17, "git at git.haskell.org" <git at git.haskell.org> wrote:

>Repository : ssh://git@git.haskell.org/ghc
>
>On branch  : wip/orf
>Link       : 
>http://ghc.haskell.org/trac/ghc/changeset/fe77cbf15dd44bb72943357d65bd8adf
>9f4deee5/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
>_______________________________________________
>ghc-commits mailing list
>ghc-commits at haskell.org
>http://www.haskell.org/mailman/listinfo/ghc-commits




More information about the ghc-devs mailing list