Module BatHashcons

Hash consing of data structures

type 'a hobj = private {
obj : 'a;
tag : int;(*

Unique id for this object

*)
hcode : int;(*

Hash code for this object

*)
}

The type t hobj represents hashed objects of type t. A hashed object contains a unique tag and a hash code.

type 'a t = 'a hobj

A synonym for convenience

val compare : 'a hobj -> 'a hobj -> int

Comparison on the tags

module type Table = sig ... end

Hashcons tables

module MakeTable (HT : BatHashtbl.HashedType) : Table with type key = HT.t
module H : sig ... end

Hashing utilities