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