Memoize discrete functions (restricted to a finite domain) using arrays
Haskell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Data/Function
ArrayMemoGeneral.hs
LICENSE
LaTeX.hs
Plot.hs
Setup.hs
array-memoize.cabal
benchmark-results.html
benchmark.hs
example.hs
heat-alternative-examples.hs
heat-benchmark-results.html
heat-benchmark.hs
heat-example-unfix.hs
heat-example-workflow.hs
heat-example.hs
heat.pdf
readme.md
unfix-example.hs
unfix-heat-example.hs

readme.md

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 as an array can then be used.

This package provides various combinators for doing just this, including also combinators for quanitzing and discretizing Float/Double-valued functions.

Example:

fibA :: Int -> Int fibA 0 = 1 fibA 1 = 1 fibA n = fibB (n - 1) + fibB (n - 2)

fibB = arrayMemo (0, 1000) fibA