#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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs