17 Jul
2009
17 Jul
'09
7:14 p.m.
Hi, I have probably a very simple question, but I wasn't able to figure it out myself. Consider a two-parameter data type:
data X a b = X a b
If I want to make it a functor in the last type variable (b), I can just define
instance Functor (X a) where fmap f (X a b) = X a (f b)
But how do I write it if I want X to be a functor in its first type variable? Is that possible at all? Something like:
instance Functor ??? where fmap f (X a b) = X (f a) b
Thanks in advance, Petr