#4361: Typechecker regression ---------------------------------------------+------------------------------ Reporter: igloo | Owner: simonpj Type: bug | Status: closed Priority: high | Milestone: 7.0.1 Component: Compiler (Type checker) | Version: 7.1 Resolution: fixed | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Difficulty: Unknown Testcase: typecheck/should_compile/T4361 | Blockedby: Blocking: | Related: ---------------------------------------------+------------------------------ Changes (by simonpj):
* difficulty: => Unknown Comment: For completeness, `Note [Avoid unecessary constraint simplification]` is this: {{{ Note [Avoid unecessary constraint simplification] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When inferring the type of a let-binding, with simplifyInfer, try to avoid unnecessarily simplifying class constraints. Doing so aids sharing, but it also helps with delicate situations like instance C t => C [t] where .. f :: C [t] => .... f x = let g y = ...(constraint C [t])... in ... When inferring a type for 'g', we don't want to apply the instance decl, because then we can't satisfy (C t). So we just notice that g isn't quantified over 't' and partition the contraints before simplifying. This only half-works, but then let-generalisation only half-works. }}} -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4361#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs