Module Hashset

Adapted from Damien Doligez, projet Para, INRIA Rocquencourt, OCaml stdlib.

The following functor is a specialized version of Weak.Make. Here, the responsibility of computing the hash function is now given to the caller, which makes possible the interleaving of the hash key computation and the hash-consing.

module type EqType = sig ... end
type statistics = {
num_bindings : int;
num_buckets : int;
max_bucket_length : int;
bucket_histogram : int array;
}
module type S = sig ... end
module Make (E : EqType) : S with type elt = E.t
module Combine : sig ... end