[Haskell-cafe] Why is Haskell flagging this?
michael rice
nowgate at yahoo.com
Fri Dec 17 18:04:20 CET 2010
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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20101217/ade28790/attachment.htm>
More information about the Haskell-Cafe
mailing list