tov / memoize

A Haskell memoization library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

memoize

Build Status Docs Hackage License: BSD 3-Clause

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—namely, call-by-need—that, while not guaranteed by the semantics of Haskell, generally appear to hold.

About

A Haskell memoization library

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 94.0%Language:Shell 6.0%