# MoreLabels.Hashtbl.HashedType.3o - Man Page

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).