Fix.MemoizeThis module offers facilities for constructing a (possibly recursive) memoized function, that is, a function that lazily records its input/output graph, so as to avoid repeated computation.
Make constructs a memoizer for a type key that is equipped with an implementation of imperative maps.
module ForOrderedType (T : sig ... end) : sig ... endForOrderedType is a special case of Make where it suffices to pass an ordered type T as an argument. A reference to a persistent map is used to hold the memoization table.
module ForHashedType (T : sig ... end) : sig ... endForHashedType is a special case of Make where it suffices to pass a hashed type T as an argument. A hash table is used to hold the memoization table.
module Char : sig ... endA memoizer for the type char.
module Int : sig ... endA memoizer for the type int.
module String : sig ... endA memoizer for the type string.