#5051: Typechecker behaviour change ---------------------------------------------+------------------------------ Reporter: igloo | Owner: Type: bug | Status: new Priority: high | Milestone: 7.2.1 Component: Compiler | Version: 7.0.2 Resolution: | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Difficulty: Unknown Testcase: typecheck/should_compile/T5051 | Blockedby: Blocking: | Related: ---------------------------------------------+------------------------------ Changes (by simonpj):
* owner: simonpj => * difficulty: => Unknown * status: closed => new * resolution: fixed => Comment: I think we have to re-introduce silent superclass paramters (see #5751). And indeed, looking at the example above, arguably it ''should'' complain about overlap. Just suppose that the `Ord` instance for lists was declared like this: {{{ instance Ord a => Ord [a] where x >= y == x>y || x==y }}} With this implementation, at type `Ord [T]` we really should be using the `Eq [T]` instance, so the overlap complaint for `foo` is absolutely right. '''Serge:''' how bad would it be if we re-introduced the behaviour you reported in http://www.haskell.org/pipermail/glasgow-haskell- users/2011-March/020116.html? I now think (a) it's the right behaviour (b) it's necessary to cure #5751. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5051#comment:5> 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