[GHC] #4259: Relax restrictions on type family instance overlap

GHC cvs-ghc at haskell.org
Fri Jan 11 03:57:14 CET 2013


#4259: Relax restrictions on type family instance overlap
----------------------------------------+-----------------------------------
    Reporter:  lilac                    |       Owner:                  
        Type:  feature request          |      Status:  new             
    Priority:  normal                   |   Milestone:  7.8.1           
   Component:  Compiler (Type checker)  |     Version:  6.12.1          
    Keywords:                           |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple         |     Failure:  None/Unknown    
  Difficulty:  Unknown                  |    Testcase:                  
   Blockedby:                           |    Blocking:                  
     Related:                           |  
----------------------------------------+-----------------------------------

Comment(by goldfire):

 Yes. The desire for injective type families (#6018) and this report seem
 something like treating symptoms instead of the disease. (Don't take that
 simile too far -- I'm not suggesting GHC's current treatment is somehow
 diseased, just not as powerful as some want.) What we all seem to want
 (even if we don't know it) is the ability to define an arbitrary rewrite
 system over types and for GHC to somehow, magically check that our rewrite
 system is consistent and then to apply it. I'm pretty sure that goal is
 impossible. But, we can certainly make inroads in that direction. Relaxing
 restrictions on instance overlap as described here is one way, and
 injective type families is another.

 My current thought on all of this is that we should consider some unified
 approach with a unified goal, instead of attacking this problem piecemeal.
 This unified approach may end up devolving into solving these two problems
 separately, but there should be an articulated reason why these two
 problems (this ticket and injectivity) are the two problems to solve.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4259#comment:27>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list