Module Name


module Name: sig  end
Datatype of strings with constant equality
Author(s): Harald Ruess


type t
Representation of strings with constant time equality. Notice that Tools.do_at_reset flushes internal structures and therefor invalidates any use of names. In particular, names should never be used in global variables.

val of_string : string -> t
of_string s constructs a name with associated string s.
Parameters:
str : string
val to_string : t -> string
to_string n returns the string associated with n.
Parameters:
? : t
val eq : t -> t -> bool
eq n m holds if the strings associated with n and m are equal. This test has constant runtime.
Parameters:
? : t
? : t
val compare : t -> t -> int
If s (t) is the string associated to n (m), then compare n m equals 0 iff eq n m. Furthermore, if compare n m equals i, then compare m n equals -i.
Parameters:
? : t
? : t
val pp : t Pretty.printer
Pretty-printing of names.
Parameters:
fmt : Format.formatter
(s,()) : string * 'a
val hash : t -> int
Return hash values for names n. Not injective.
Parameters:
? : t
module Set: sig  end
Sets of names.
module Map: sig  end
Maps with names in the domain.
module Hash: sig  end
Hash table with names as keys.