Module Uid


module Uid: sig .. end
Printable type with unique identifiers.

This module provides a functor that embeds a given printable type with an identifier that is guaranteed to be unique for all values of the output printable type. The identifiers are used to provide constant-time comparison and hashing functions for the output type. Note that equality of values of the output type implies equality of the underlying values of the input type, but the converse does not hold in general.


exception Overflow
Raised when no new identifier is available.
module Make: 
functor (T : Print.PRINTABLE_TYPE) -> sig .. end
Functor embedding a given printable type with unique identifiers.