Module Flambda2_bound_identifiers.Bound_static
The left-hand sides of Let-expressions that bind statically-allocated constants and pieces of code. Used via Bound_pattern in the term language.
module Pattern : sig ... endval empty : Flambda2_bound_identifiers.Bound_static.tval create :
Flambda2_bound_identifiers.Bound_static.Pattern.t list ->
Flambda2_bound_identifiers.Bound_static.tAll recursive cycles between the names bound by the provided pattern(s) must go through at least one code ID. (So for example the declaration of just a block that points to itself is forbidden.)
val to_list :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_bound_identifiers.Bound_static.Pattern.t listval binds_code : Flambda2_bound_identifiers.Bound_static.t -> boolval binds_symbols : Flambda2_bound_identifiers.Bound_static.t -> boolval symbols_being_defined :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_identifiers.Symbol.Set.tval code_being_defined :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_identifiers.Code_id.Set.tval everything_being_defined :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_identifiers.Code_id_or_symbol.Set.tval everything_being_defined_as_list :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_identifiers.Code_id_or_symbol.t listval gc_roots :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_identifiers.Symbol.t listval print :
Stdlib.Format.formatter ->
Flambda2_bound_identifiers.Bound_static.t ->
unitinclude Flambda2_nominal.Contains_names.S
with type t := Flambda2_bound_identifiers.Bound_static.t
val free_names :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_nominal.Name_occurrences.tCompute the free names of a term. Such computation covers all kinds of bindable names (variables, continuations, ...)
val apply_renaming :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_nominal.Renaming.t ->
Flambda2_bound_identifiers.Bound_static.tApply a renaming throughout a term.
include Flambda2_nominal.Contains_ids.S
with type t := Flambda2_bound_identifiers.Bound_static.t
val ids_for_export :
Flambda2_bound_identifiers.Bound_static.t ->
Flambda2_nominal.Ids_for_export.tGather all table identifiers to export them.