#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

Reply via email to