cvs commit: fptools/ghc/compiler/deSugar DsExpr.lhs
fptools/ghc/compiler/hsSyn
HsExpr.lhs fptools/ghc/compiler/typecheck TcMatches.lhs
Simon Peyton Jones
simonpj at haskell.org
Tue Jan 4 11:27:04 EST 2005
simonpj 2005/01/04 08:27:04 PST
Modified files:
ghc/compiler/deSugar DsExpr.lhs
ghc/compiler/hsSyn HsExpr.lhs
ghc/compiler/typecheck TcMatches.lhs
Log:
------------------
Fix an mdo bug
------------------
Embarassingly, this bug makes GHC either panic (for some programs) or
go into a loop (on others) in a recursive mdo that involves a
polymorphic function. Urk!
The fix is twofold:
a) add a missing bindInstsOfLocalFuns to tcStmtAndThen (RecStmt case)
b) bind the correct set of variables in dsRecStmt
I added some explanatory comments about RecStmt in HsExpr too.
The tests is mdo/should_compile/mdo006
Revision Changes Path
1.111 +44 -19 fptools/ghc/compiler/deSugar/DsExpr.lhs
1.95 +25 -1 fptools/ghc/compiler/hsSyn/HsExpr.lhs
1.84 +11 -5 fptools/ghc/compiler/typecheck/TcMatches.lhs
More information about the Cvs-ghc
mailing list