memoize: A memoization library
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.
[Skip to Readme]
Downloads
- memoize-1.1.2.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
Versions [RSS] | 0.1, 0.2, 0.3, 0.4, 0.6, 0.7, 0.8, 0.8.1, 1.0.0, 1.1.0, 1.1.1, 1.1.2 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.8 && <5), template-haskell (>=2 && <3) [details] |
Tested with | ghc ==9.0.1, ghc ==8.10.7, ghc ==8.6.5 |
License | BSD-3-Clause |
Author | Jesse A. Tov <jesse.tov@gmail.com> |
Maintainer | jesse.tov@gmail.com |
Category | Data |
Source repo | head: git clone git://github.com/tov/memoize.git |
Uploaded | by JesseTov at 2022-09-16T16:55:41Z |
Distributions | Debian:0.8.1, NixOS:1.1.2 |
Reverse Dependencies | 10 direct, 6 indirect [details] |
Downloads | 10945 total (63 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2022-09-16 [all 1 reports] |