[GHC] #8338: Incoherent instances without -XIncoherentInstances

GHC ghc-devs
Fri Oct 11 02:08:13 UTC 2013


#8338: Incoherent instances without -XIncoherentInstances
-------------------------------------+------------------------------------
        Reporter:  goldfire          |            Owner:
            Type:  bug               |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Compiler          |          Version:  7.6.3
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by goldfire):

 In my comment, I was referring to overlapping instances from modules that
 ''don't'' use `OverlappingInstaces`. Here's how I can see it happening:

  * Suppose package `dayta` exports a datatype `T` and package `klass`
 exports a class `C`.

  * Now, packages `a` and `b` both import `T` and `C` from their respective
 packages and define an instance `C T`.

  * Package `c` wants to use the relevant modules from both `a` and `b`.
 Disaster with eager checking of overlap.

 I've used packages here instead of modules to emphasize that the authors
 of all of these parts may be different. From a technical standpoint,
 replacing "package" with "module" would also work here.

 I should say I'm not really disagreeing with illissius about eager
 checking, just drawing out the example of where this might be a problem. I
 find it very hard to come up with an opinion on this issue that I would
 feel comfortable defending!

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



More information about the ghc-tickets mailing list