[Haskell-cafe] Swapping type arguments
s9gf4ult at gmail.com
Fri May 1 19:32:50 UTC 2015
This question probably asked already.
I have a type
data T m b a = T (m (b, a))
and it should be instance of `Bifunctor` and `MonadTrans` same time. But
there is a problem:
instance Bifunctor (T m)
is ok, but
instance MonadTrans (T ...
is not, because first argument is `m` but we need `b`. Type can be
data T b m a = T (m (b, a))
and instance of MonadTrans is ok:
instance MonadTrans (T b)
but how to define Bifunctor?
instance Bifunctor (T ...
I did not found how to workaround this. Is there any type magic for such
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe