memoize: A memoization library

[ bsd3, data, library ] [ Propose Tags ]
Versions 0.1, 0.2, 0.3, 0.4, 0.6, 0.7, 0.8, 0.8.1
Dependencies base (>=3 && <5), haskell98 (==1.*), template‑haskell (>=2) [details]
License BSD-3-Clause
Author Jesse A. Tov <>
Category Data
Source repo head: git clone git://
Uploaded by JesseTov at Mon Jul 11 08:54:26 UTC 2011
Distributions Debian:0.7, NixOS:0.8.1
Downloads 5055 total (67 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

This library provides a type class Memoizable for memoizing functions, along with instances for a variety of argument types. It includes a Template Haskell function for deriving Memoizable instances for arbitrary algebraic datatypes.

The library constructs pure memo caches without the use of unsafePerformIO. This technique relies on implementation assumptions that, while not guaranteed by the semantics of Haskell, appear to be true.




Maintainer's Corner

For package maintainers and hackage trustees