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