Re: nhc98 rejects legal rebinding
Malcolm Wallace <[email protected]> Tue, 27 May 2003 11:55:58 +0100
| Newsgroups | gmane.comp.lang.haskell.nhc.bugs |
|---|---|
| Organization | Dept of Computer Science, University of York |
| Message-ID | <[email protected]> |
"Simon Marlow" <[email protected]> writes: > While the behaviour might arguably be wrong, I believe it's more > important to stick to the letter of the Haskell 98 spec, at least so > that Haskell 98 compilers are compatible with each other. By all means > emit a warning in this case (GHC does if you add -fwarn-name-shadowing), > but it shouldn't be an error. OK, you have persuaded me. The bug is fixed in CVS, and here is the patch. Regards, Malcolm Index: src/compiler98/Rename.hs =================================================================== RCS file: /home/cvs/root/nhc98/src/compiler98/Rename.hs,v retrieving revision 1.28 diff -u -r1.28 Rename.hs --- src/compiler98/Rename.hs 12 Nov 2002 11:56:51 -0000 1.28 +++ src/compiler98/Rename.hs 27 May 2003 10:54:53 -0000 @@ -459,12 +459,14 @@ let decls = groupFun decls' in pushScope >>> mapS0 (bindPat Var) pats >>> + pushScope >>> bindDecls decls >>> renameDecls decls >>>= \newdecls -> -- do first, to get infix right unitS Fun =>>> mapS renameExp pats =>>> renameRhs rhs =>>> unitS newdecls >>> + popScope >>> popScope