Module type Hashcons.S_consed

module type S_consed = sig .. end

type key 
val hashcons : key -> key Hashcons.hash_consed

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 : (key Hashcons.hash_consed -> 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.