Module Fix.Memoize

Memoize offers a number of combinators that help construct possibly recursive memoizing functions, that is, functions that lazily record their input/output graph, so as to avoid repeated computation.

module Make : functor (M : Fix__.Sigs.IMPERATIVE_MAPS) -> Fix__.Sigs.MEMOIZER with type key = M.key and type 'a t = 'a M.t
module ForOrderedType : functor (T : Fix__.Sigs.OrderedType) -> Fix__.Sigs.MEMOIZER with type key = T.t and type 'a t = 'a Stdlib.Map.Make(T).t Stdlib.ref
module ForHashedType : functor (T : Fix__.Sigs.HashedType) -> Fix__.Sigs.MEMOIZER with type key = T.t and type 'a t = 'a Stdlib.Hashtbl.Make(T).t
module ForType : functor (T : Fix__.Sigs.TYPE) -> Fix__.Sigs.MEMOIZER with type key = T.t
module Char : Fix__.Sigs.MEMOIZER with type key = char
module Int : Fix__.Sigs.MEMOIZER with type key = int
module String : Fix__.Sigs.MEMOIZER with type key = string