Module type Hashcons.S

module type S = sig .. end

type t 
val hashcons : t -> t

hashcons n f hash-cons the value n using function f i.e. returns any existing value in the table equal to n, if any; otherwise, creates a new value with function f, stores it in the table and returns it. Function f is passed the node n as first argument and the unique id as second argument.

val iter : (t -> unit) -> unit

iter f iterates f over all elements of the table .

val stats : unit -> int * int * int * int * int * int

Return statistics on the table. The numbers are, in order: table length, number of entries, sum of bucket lengths, smallest bucket length, median bucket length, biggest bucket length.