module RowLabel: sig
.. end
The universe of row labels. This is an ordered, printable
abstract type
t
. The ordering is used during unification, see
Unifier
. The ability to print row labels is used during
pretty printing.
type
t
A row label is an object of type t
, that is, an integer.
val compare : t -> t -> int
compare x y
is a total ordering. It returns a negative integer
if x
is less than y
, 0 if x
and y
are equal, and a
positive integer if x
is greater than y
.
val export : t -> CoreAlgebra.lname
export i
provides access to the inverse of the global mapping,
that is, associates a unique identifier with every label. The
identifier associated with a label is the one originally supplied
to import
.
val import : CoreAlgebra.lname -> t
import s
associates a unique label with the identifier s
,
possibly extending the global mapping if s
was never encountered
so far. Thus, if s
and t
are equal strings, possibly allocated
in different memory locations, import s
and import t
return
the same label. The identifier s
is recorded and may be later
recovered via export
.