I don't understand this error message. Haskell appears not to understand that 1 
is a Num.

Prelude> :t 1
1 :: (Num t) => t
Prelude> :t [1,2,3,4,5]
[1,2,3,4,5] :: (Num t) => [t]
Prelude> 

Michael

===================

f :: [Int] -> IO [Int]
f lst = do return lst

main = do let lst = f [1,2,3,4,5]
          fmap (+1) lst

===============================

Prelude> :l test
[1 of 1] Compiling Main             ( test.hs, interpreted )

test.hs:5:17:
    No instance for (Num [Int])
      arising from the literal `1' at test.hs:5:17
    Possible fix: add an instance declaration for (Num [Int])
    In the second argument of `(+)', namely `1'
    In the first argument of `fmap', namely `(+ 1)'
    In the expression: fmap (+ 1) lst
Failed, modules loaded: none.
Prelude> 



      
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to