Identinclude Identifiable.S with type t := tmodule T : Identifiable.Thing with type t = tinclude Identifiable.Thing with type t := T.tinclude Hashtbl.HashedType with type t := T.tval hash : T.t -> intA 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
(=), hash) for comparing objects by structure (provided objects do not contain floats)(fun x y -> compare x y = 0), hash) for comparing objects by structure and handling Stdlib.nan correctly(==), hash) for comparing objects by physical equality (e.g. for mutable or cyclic objects).include Map.OrderedType with type t := T.tval output : out_channel -> T.t -> unitval print : Format.formatter -> T.t -> unitmodule Set : Identifiable.Set with module T := Tmodule Map : Identifiable.Map with module T := Tmodule Tbl : Identifiable.Tbl with module T := Tval print_with_scope : Format.formatter -> t -> unitSame as print except that it will also add a "n" suffix if the scope of the argument is n.
val create_scoped : scope:int -> string -> tval create_local : string -> tval create_persistent : string -> tval create_predef : string -> tCreates an identifier with the same name as the input, a fresh stamp, and no scope.
val name : t -> stringval unique_name : t -> stringval unique_toplevel_name : t -> stringval persistent : t -> boolCompare identifiers by binding location. Two identifiers are the same either if they are both non-persistent and have been created by the same call to create_*, or if they are both persistent and have the same name.
val global : t -> boolval is_predef : t -> boolval scope : t -> intval empty : 'a tbl