array-memoize (original) (raw)
array-memoize: Memoization combinators using arrays for finite sub-domains of functions
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.
Example:
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'
Modules
[Index]
- Data
- Function
* Data.Function.ArrayMemoize
- Function
Downloads
- array-memoize-0.6.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates