About

Metadata

  • Last updated , by JesseTov
  • License BSD-3-Clause
  • Maintained by: jesse.tov@gmail.com

  • Lottery factor: 0

Links

Installation

Tested Compilers

  1. 9.0.1
  2. 8.10.7
  3. 8.6.5

Readme

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.