I am trying to understand Haskell realization of memoization , but I don\'t get how it works:
memoized_fib :: Int -> Integer memoized_fib = (map fib [0..]
map does not take three parameters here.
map
(map fib [0..] !!)
partially applies (slices) the function (!!) with map fib [0..], a list, as its first (left-hand) argument.
(!!)
map fib [0..]