Backend_varVariables used in the backend, optionally equipped with "provenance" information, used for the emission of debugging information.
include module type of struct include Ident endtype t = Ident.tinclude Identifiable.S with type t := tmodule T = Ident.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.tA total ordering function over the keys. This is a two-argument function f such that f e1 e2 is zero if the keys e1 and e2 are equal, f e1 e2 is strictly negative if e1 is smaller than e2, and f e1 e2 is strictly positive if e1 is greater than e2. Example: a suitable ordering function is the generic structural comparison function Stdlib.compare.
val output : out_channel -> T.t -> unitval print : Format.formatter -> T.t -> unitmodule Set = Ident.Setmodule Map = Ident.Mapmodule Tbl = Ident.Tblval 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 -> inttype 'a tbl = 'a Ident.tblval empty : 'a tbltype backend_var = tmodule Provenance : sig ... endmodule With_provenance : sig ... end