Thu Dec 13 06:02:13 PST 2007 [EMAIL PROTECTED]
* Improve free-variable handling for rnPat and friends (fixes Trac #1972)
As well as fixing the immediate problem (Trac #1972) this patch does
a signficant simplification and refactoring of pattern renaming.
Fewer functions, fewer parameters passed....it's all good. But it
took much longer than I expected to figure out.
The most significant change is that the NameMaker type does *binding*
as well as *making* and, in the matchNameMaker case, checks for unused
bindings as well. This is much tider.
(No need to merge to the 6.8 branch, but no harm either.)
M ./compiler/rename/RnBinds.lhs -40 +29
M ./compiler/rename/RnEnv.lhs -31 +47
M ./compiler/rename/RnExpr.lhs -14 +8
M ./compiler/rename/RnPat.lhs -198 +165
M ./compiler/rename/RnTypes.lhs -1 +1
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc