MoreLabels.Hashtbl.HashedType(3)

NAME
MoreLabels.Hashtbl.HashedType - The input signature of the functor MoreLabels.Hashtbl.Make.

Module type
Module type MoreLabels.Hashtbl.HashedType

Documentation

Module type HashedType
 = sig end

The input signature of the functor MoreLabels.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

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

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

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