
Hi Folks: I am using Glasgow Haskell Compilation System, version 9.2.4 on OpenBSD 7.2. I am stumped by the following problem. If I run the following program in ghci, then it works fine. Look: fact :: Integer -> Integer fact n = product [1..n] term :: Double -> Double term x = x**4/fromIntegral(fact(4)) $ ghci GHCi, version 9.2.4: https://www.haskell.org/ghc/ :? for help ghci> :l seriesTermTest.hs [1 of 1] Compiling Main ( seriesTermTest.hs, interpreted ) Ok, one module loaded. ghci> term 1.0 4.1666666666666664e-2 However if I use fromIntegral inside a list comprehension like so: fact :: Integer -> Integer fact n = product [1..n] expon :: Double -> Double expon x = sum [x**i/fromIntegral(fact(i)) | i <- [0..50]] then I get the following error message: $ ghci GHCi, version 9.2.4: https://www.haskell.org/ghc/ :? for help ghci> :l ePowerSeries.hs [1 of 1] Compiling Main ( ePowerSeries.hs, interpreted ) ePowerSeries.hs:6:40: error: * Couldn't match expected type `Integer' with actual type `Double' * In the first argument of `fact', namely `(i)' In the first argument of `fromIntegral', namely `(fact (i))' In the second argument of `(/)', namely `fromIntegral (fact (i))' | 6 | expon x = sum [x**i/fromIntegral(fact(i)) | i <- [0..50]] | ^ Failed, no modules loaded. What am I doing wrong? -- Kind regards, Jonathan