#!/usr/bin/runghc module Recursion12Memoization where slowFib :: Int -> Integer slowFib 0 = 0 slowFib 1 = 1 slowFib n = slowFib (n - 2) + slowFib (n - 1) memoizedFib :: Int -> Integer memoizedFib = let fib 0 = 0 fib 1 = 1 fib n = memoizedFib (n - 2) + memoizedFib (n - 1) in (Prelude.map fib [0 ..] !!) main :: IO () main = do print (slowFib 10) print (memoizedFib 10)