Module type

Module type Hashtbl.HashedType

Documentation

Module type HashedType = sig end

The input signature of the functor Hashtbl.Make .

type t

The type of the hashtable keys.

val equal : t -> t -> bool

The equality predicate used to compare keys.

val hash : t -> int

A hashing function on keys. It must be such that if two keys are equal according to equal , then they have identical hash values as computed by hash . Examples: suitable ( equal , hash ) pairs for arbitrary key types include

- ( (=) , Hashtbl.hash ) for comparing objects by structure (provided objects do not contain floats)

- ( (fun x y -> compare x y = 0) , Hashtbl.hash ) for comparing objects by structure and handling Pervasives.nan correctly

- ( (==) , Hashtbl.hash ) for comparing objects by physical equality (e.g. for mutable or cyclic objects).