The HASHKEY signature

« 210 Library Documentation

Overview

The HASHKEY signature defines a hashable key type which is totally ordered. Note that anything ascribing to HASHKEY implicitly ascribes to both ORDKEY and EQKEY as well.

Interface

type t

val equal : t * t → bool
val compare : t * t → order
val hash : t → int
val toString : t → string

Types

type t
The abstract key type.

Values

val equal : t * t → bool
Determine whether or not the argument pair is considered equal. This operation is reflexive, symmetric, and transitive.
val compare : t * t → order
Return one of LESS, EQUAL, or GREATER as appropriate for the argument pair. This operation is transitive. The comparison must be consistent, that is compare (x, y) = EQUAL if and only if equal (x, y), and compare (x, y) = LESS if and only if compare (y, x) = GREATER.
val hash : t → int
Hash the argument into an integer.
val toString : t → string
Return a string representation.