Tabulate.ForHashedType
ForHashedType
is a special case of Make
where it suffices to pass a finite hashed type as an argument. A reference to a persistent map is used to hold the table.
module F : sig ... end
type key = F.t
The type of keys.
tabulate
is a tabulation combinator for the type key
. The function call tabulate f
produces a function f'
that behaves extensionally like f
, but is tabulated.
Like memoization, tabulation guarantees that, for every key x
, the image f x
is computed at most once. Unlike memoization, where this computation takes place on demand, here, the computation of f x
for every x
takes place eagerly, when tabulate
is invoked. The graph of the function f
, a table, is constructed and held in memory.