[Haskell] Functor ((,) a)

Dan Doel dan.doel at gmail.com
Wed Sep 19 04:12:28 EDT 2007


On Wednesday 19 September 2007, Janis Voigtlaender wrote:
> Hi,
>
> the Prelude docs found via
>
> http://haskell.org/hoogle/hoodoc.cgi?module=Prelude&name=Functor&mode=class
>
> claim that there is an instance
>
> Functor ((,) a)
>
> And yet, I get (in GHC, but similarly in Hugs):
>
> Prelude> fmap (+1) (undefined,2)
>
> <interactive>:1:0:
>      No instance for (Functor ((,) a))
>        arising from use of `fmap' at <interactive>:1:0-22
>      Possible fix: add an instance declaration for (Functor ((,) a))
>      In the expression: fmap ((+ 1)) (undefined, 2)
>      In the definition of `it': it = fmap ((+ 1)) (undefined, 2)
>
> What do I have to import to get the Functor ((,) a) instance?
>
> (Of course, I can define it myself, but this is not the point.)

In GHC 6.6 and above, you'll need to import Control.Monad.Instances (a bit of 
a weird place to put it, but I guess there's no Control.Functor and such).

If you have an earlier version than that, I'd say import Control.Monad.Writer 
at a guess.

-- Dan


More information about the Haskell mailing list