[GHC] #9918: GHC chooses an instance between two overlapping, but cannot resolve a clause within the similar closed type family

GHC ghc-devs at haskell.org
Mon Dec 22 18:49:21 UTC 2014


#9918: GHC chooses an instance between two overlapping, but cannot resolve a
clause within the similar closed type family
-------------------------------------+-------------------------------------
              Reporter:  qnikst      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by qnikst):

 Thanks for replies.

 > Your program depends in a very delicate way on the treatment of infinite
 types. I wonder if it needs to?

 I need to think more about this, at this moment if was the most obvious
 way how to write required instances, but possibly there are more ways
 around.

 > Are you sure that OverlappingInstances works here, even to select the
 MonadRaise m m instance?

 I've just checked the minimal example and I need to say that it doesn't
 choose `MonadRaise m m`, without explicit type signature:

 {{{
 test_2 = do
   hout <- newSHandle
   shPutStrLn hout
 }}}

 however adding `test_2 :: IORT s IO ()` helps, in case of type families
 adding explicit type signature didn't help me in my experiments.

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


More information about the ghc-tickets mailing list