Because:(!!) :: [a] -> Int -> aOn Dec 17, 2017 5:50 AM, "Peter Normington" <peter@ireby.org.uk> wrote:______________________________Why do I get an error in the following example:but not in:
memoized_fib :: Integer -> Integer
memoized_fib = (map fib [0 ..] !!)
where fib 1 = 1
fib 2 = 1
fib n = memoized_fib (n-2) + memoized_fib (n-1)
memoized_fib :: Int -> Integer
memoized_fib = (map fib [0 ..] !!)
where fib 1 = 1
fib 2 = 1
fib n = memoized_fib (n-2) + memoized_fib (n-1)?The error is reported by GHCi as:error:
• Couldn't match type ‘Integer’ with ‘Int’
Expected type: Integer -> Integer
Actual type: Int -> Integer
• In the expression: (map fib [0 .. ] !!)
In an equation for ‘memoized_fib’:
memoized_fib
= (map fib [0 .. ] !!)
where
fib 1 = 1
fib 2 = 1
fib n = memoized_fib (n - 2) + memoized_fib (n - 1)
|
2 | memoized_fib = (map fib [0 ..] !!)
| ^^^^^^^^^^^^^^^^^
Failed, 0 modules loaded._________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners