[Haskell-cafe] an instance in other than the last type parameters

Stefan Holdermans stefan at cs.uu.nl
Fri Jul 17 15:43:03 EDT 2009


Petr,

> Short answer: you can't. Easiest way to workaround is to define a  
> newtype wrapper around your original datatype:
>
> newtype X' b a = X' {unX' :: X a b}
>
> instance Functor (X' b) where
>  fmap g (X' (X a b)) = X' (X b (g a))

Err....

   fmap g (X' (X a b)) = X' (X (g a) b)

Cheers,

   Stefan


More information about the Haskell-Cafe mailing list