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