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 : 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 binds_code : t -> boolval binds_symbols : t -> boolval symbols_being_defined : t -> Flambda2_identifiers.Symbol.Set.tval code_being_defined : t -> Flambda2_identifiers.Code_id.Set.tval everything_being_defined :
t ->
Flambda2_identifiers.Code_id_or_symbol.Set.tval everything_being_defined_as_list :
t ->
Flambda2_identifiers.Code_id_or_symbol.t listval gc_roots : t -> Flambda2_identifiers.Symbol.t listval print : Format.formatter -> t -> unitinclude Flambda2_nominal.Contains_names.S with type t := t
val free_names : 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 : t -> Flambda2_nominal.Renaming.t -> tApply a renaming throughout a term.
include Flambda2_nominal.Contains_ids.S with type t := t
val ids_for_export : t -> Flambda2_nominal.Ids_for_export.tGather all table identifiers to export them.