[GHC] #14004: G

GHC ghc-devs at haskell.org
Fri Jul 21 02:04:44 UTC 2017


#14004: G
-------------------------------------+-------------------------------------
           Reporter:  zaoqi          |             Owner:  (none)
               Type:  feature        |            Status:  new
  request                            |
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  7.10.3
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{#!hs
 {-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}

 class GEq a b where
     geq :: a -> b -> Bool

 instance {-# OVERLAPPING #-} Eq a => GEq a a where
     geq = (==)

 instance GEq a b where
     geq _ _ = False
 }}}


 {{{
 GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
 Prelude> :load GEq.hs
 [1 of 1] Compiling Main             ( GEq.hs, interpreted )
 Ok, modules loaded: Main.
 *Main> geq::a->b->Bool

 <interactive>:3:1:
     Overlapping instances for GEq a1 b1 arising from a use of ‘geq’
     Matching instances:
       instance GEq a b -- Defined at GEq.hs:9:10
       instance [overlapping] Eq a => GEq a a -- Defined at GEq.hs:6:30
     (The choice depends on the instantiation of ‘a1, b1’
      To pick the first instance above, use IncoherentInstances
      when compiling the other instance declarations)
     In the expression: geq :: a -> b -> Bool
     In an equation for ‘it’: it = geq :: a -> b -> Bool
 *Main>
 }}}

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


More information about the ghc-tickets mailing list