Fundep question
Richard Eisenberg
eir at cis.upenn.edu
Fri Jul 31 15:10:19 UTC 2015
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
More information about the ghc-devs
mailing list