On 17 December 2010 18:04, michael rice <nowgate@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])