Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.22 KB

README.md

File metadata and controls

41 lines (30 loc) · 1.22 KB

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.