Thu Aug 20 05:34:43 PDT 2009 [email protected]
* Improvements to record puns, wildcards
Ignore-this: 2ac26fcc045853dab346280bcc440431
* Make C { A.a } work with punning, expanding to C { A.a = a }
* Make it so that, with -fwarn-unused-matches,
f (C {..}) = x
does not complain about the bindings introduced by the "..".
* Make -XRecordWildCards implies -XDisambiguateRecordFields.
* Overall refactoring of RnPat, which had become very crufty.
In particular, there is now a monad, CpsRn, private to RnPat,
which deals with the cps-style plumbing. This is why so many
lines of RnPat have changed.
* Refactor the treatment of renaming of record fields into two passes
- rnHsRecFields1, used both for patterns and expressions,
which expands puns, wild-cards
- a local renamer in RnPat for fields in patterns
- a local renamer in RnExpr for fields in construction and update
This make it all MUCH easier to understand
* Improve documentation of record puns, wildcards, and disambiguation
M ./compiler/basicTypes/RdrName.lhs -5 +9
M ./compiler/main/DynFlags.hs +6
M ./compiler/parser/RdrHsSyn.lhs -11 +4
M ./compiler/rename/RnBinds.lhs -6 +7
M ./compiler/rename/RnEnv.lhs -139 +124
M ./compiler/rename/RnExpr.lhs -6 +27
M ./compiler/rename/RnPat.lhs -384 +394
M ./compiler/rename/RnSource.lhs -5 +4
M ./compiler/rename/RnTypes.lhs -2 +2
M ./compiler/typecheck/TcEnv.lhs -2 +2
M ./compiler/typecheck/TcPat.lhs -1 +1
M ./docs/users_guide/glasgow_exts.xml -22 +92
View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20090820123443-1287e-310bbeffe196d45253c8e8e5fa699e8616141b05.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc