jon.recoil.org

Module Flambda2_simplify.Lifted_constant

Description of a group of statically-allocated values discovered during simplification.

The name of this module is unfortunately slightly misleading: these statically-allocated values may be inconstant in the sense that they may require initialisation at runtime before they can be read from.

module Definition : sig ... end
type t
val print : Format.formatter -> t -> unit

The creation functions take the types of symbols to avoid re-inferring them.

val create_definition : Definition.t -> t
val definitions : t -> Definition.t list
val defining_exprs : t -> Rebuilt_static_const.Group.t
val concat : t list -> t
val is_fully_static : t -> bool
val all_defined_symbols : t -> Flambda2_identifiers.Symbol.Set.t
val free_names_of_defining_exprs : t -> Flambda2_nominal.Name_occurrences.t