[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