#4259: Add overlapping instances for type families ----------------------------------------+----------------------------------- Reporter: lilac | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 6.12.1 Keywords: | Testcase: Blockedby: 4232 | Difficulty: Os: Unknown/Multiple | Blocking: Architecture: Unknown/Multiple | Failure: None/Unknown ----------------------------------------+----------------------------------- Changes (by simonpj):
* blockedby: => 4232 Comment: If I'm getting this right, overlap is OK if, '''but only if''', the overlapping instances are all declared in the same module. If they come in different modules there's a danger that the type checker will rewrite `(F [Int])` to `Bool` in one place, and to `Char` in another, and that's unsound. This is to do with soundness, not termination. We have not implemented the "overlap ok within one module" feature yet. So it's a feature request, but it's one that I think will be popular. We'll look at it after the new type checker is working. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4259#comment:1> 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