Module BatHashcons

module BatHashcons: sig .. end

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: 
functor (HT : BatHashtbl.HashedType-> Table with type key = HT.t
module H: sig .. end

Hashing utilities