Memoization combinators are great for providing high-performance Haskell
programs, but they can be even faster if memoization is performed on a finite,
discrete domain since an array can then be used to store results.
This package provides various combinators for doing just this, including also
combinators for quanitzing and discretizing Float/Double-valued functions.
' fib' :: (Int -> Int) -> Int -> Int fib' 0 = 1 fib' 1 = 1 fib' rec n = rec
(n - 1) + rec (n - 2) fib :: Int -> Int fib = arrayMemoFix (0, 1000) fib' '.