
You are trying to divide by an Integer and get a Float. Haskell doesn't do automatic numeric conversion, so you have to do the casts manually. Prelude> let sumHam n = sum [ 1 / (fromIntegral x) | x <- [1..n] ] Prelude> sumHam 5 2.283333333333333 Dinh Tien Tuan Anh wrote:
could anyone tell me what i did wrong with this please
sumHam :: Integer -> Float sumHam n = sum [1/x | x<-[1..n]]
Error: type error in explicitly typed binding **** Term: sumHam **** Type: Integer -> Integer **** Does not match : Integer -> Float
it only works if i remove the first line. Tried changing Float by Double and still not working
Pls help Cheers
_________________________________________________________________ Be the first to hear what's new at MSN - sign up to our free newsletters! http://www.msn.co.uk/newsletters
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe