jon.recoil.org

Module Flambda.Static_const_group

include Flambda2_nominal.Contains_names.S with type t := t

Compute the free names of a term. Such computation covers all kinds of bindable names (variables, continuations, ...)

val apply_renaming : t -> Flambda2_nominal.Renaming.t -> t

Apply 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.t

Gather all table identifiers to export them.

val empty : t
val create : Static_const_or_code.t list -> t
val print : Format.formatter -> t -> unit
val to_list : t -> Static_const_or_code.t list
val concat : t -> t -> t
val match_against_bound_static : t -> Flambda2_bound_identifiers.Bound_static.t -> init:'a -> code: ('a -> Flambda2_identifiers.Code_id.t -> Function_params_and_body.t Code0.t -> 'a) -> deleted_code:('a -> Flambda2_identifiers.Code_id.t -> 'a) -> set_of_closures: ('a -> closure_symbols: Flambda2_identifiers.Symbol.t Flambda2_identifiers.Function_slot.Lmap.t -> Set_of_closures.t -> 'a) -> block_like:('a -> Flambda2_identifiers.Symbol.t -> Static_const.t -> 'a) -> 'a

This function ignores Deleted code.

val pieces_of_code' : t -> Function_params_and_body.t Code0.t list

This function ignores Deleted code.

val is_fully_static : t -> bool