On 17 December 2010 18:04, michael rice <nowg...@yahoo.com> wrote:

> ===================
>
> f :: [Int] -> IO [Int]
> f lst = do return lst
>
> main = do let lst = f [1,2,3,4,5]
>           fmap (+1) lst


The problem is that you are applying fmap to a type IO a.

fmap (+1) (return [1,2,3])

But to achieve the behaviour you expect, you need another fmap:

fmap (fmap (+1)) (return [1,2,3])
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to