Fundep question

Simon Peyton Jones simonpj at microsoft.com
Fri Jul 31 15:29:55 UTC 2015


you need "liberal coverage checking", so UndecidableInstances. Are you doing that?

|  -----Original Message-----
|  From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of
|  Richard Eisenberg
|  Sent: 31 July 2015 16:10
|  To: Gabor Greif
|  Cc: ghc-devs
|  Subject: Re: Fundep question
|  
|  Let's rewrite with explicit kind variables, noting that b is also
|  poly-kinded:
|  
|  class Dep k k2 (a :: k) (b :: k2) | a -> b k2
|      -- if a determines b, it surely determines k2
|  
|  instance Dep k * x y => Dep (Maybe k) * (Just x) (Maybe y)
|  
|  Actually, even with the kinds explicit, it still looks valid to me.
|  Post a bug report?
|  
|  Richard
|  
|  On Jul 31, 2015, at 9:54 AM, Gabor Greif <ggreif at gmail.com> wrote:
|  
|  > Hi all,
|  >
|  > say I want to instantiate
|  >
|  >    class Dep (a :: k) b | a -> b
|  >
|  > as
|  >
|  >    instance Dep x y => Dep (Just x) (Maybe y)
|  >
|  > Is this supposed to work? I get "The coverage condition fails"
|  errors.
|  >
|  > For simple cases like
|  >
|  >    instance Dep True Bool
|  >
|  > etc. it seems to work fine.
|  >
|  > Thanks and cheers,
|  >
|  >    Gabor
|  > _______________________________________________
|  > ghc-devs mailing list
|  > ghc-devs at haskell.org
|  > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
|  
|  _______________________________________________
|  ghc-devs mailing list
|  ghc-devs at haskell.org
|  http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list