Haskell memoization library using -XTypeFamilies
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Data
doc/html/recall
LICENSE
README.md
Setup.hs
default.nix
recall.cabal

README.md

recall

Haskell memoization library using -XTypeFamilies based off of research by Simon Peyton Jones, Oleg Kiselyov, and Chung-chieh Shan. In fact, the Memo typeclass and a few instances (Bool, Etiher, and List) come directly from thier examples.

Example usage:

import Data.Recall

-- actual function to be memoized
f :: [Maybe Bool] -> Maybe Bool
f n = fmap and . sequenceA

-- function that lazily populates and accesses a lazy trie holding the results of past calls
f' :: [Maybe Bool] -> Maybe Bool
f' = memoize f