[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