Module Fix.HashCons

HashCons offers support for setting up a hash-consed data type, that is, a data type whose values carry unique integer identifiers.

type 'data cell = private {
id : int;
data : 'data;
}
val id : 'data cell -> int
val data : 'data cell -> 'data
val equal : 'data cell -> 'data cell -> bool
val compare : 'data cell -> 'data cell -> int
val hash : 'data cell -> int
module type SERVICE = sig ... end
module Make : functor (M : Fix__.Sigs.MEMOIZER) -> SERVICE with type data = M.key
module ForHashedType : functor (T : Fix__.Sigs.HashedType) -> SERVICE with type data = T.t
module ForHashedTypeWeak : functor (T : Fix__.Sigs.HashedType) -> SERVICE with type data = T.t