
Marvellous
On 22/04/2014 12:17, "git@git.haskell.org"
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
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
Signed-off-by: Austin Seipp ---------------------------------------------------------------
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@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits