# Hashtbl.HashedType.3o - Man Page

The input signature of the functor Hashtbl.Make.

## 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.HashedType.hash** ) for comparing objects by structure (provided objects do not contain floats)

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

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