jon.recoil.org

Module Flambda2_simplify.Non_constructed_code

Code without any function bodies, but with all the associated metadata, e.g. free names.

include Flambda2_terms.Code_metadata.Code_metadata_accessors_result_type with type 'a t := Flambda2_simplify.Non_constructed_code.t
val first_complex_local_param : Flambda2_simplify.Non_constructed_code.t -> int
val is_a_functor : Flambda2_simplify.Non_constructed_code.t -> bool
val is_my_closure_used : Flambda2_simplify.Non_constructed_code.t -> bool
val function_slot_size : Flambda2_simplify.Non_constructed_code.t -> int
val create_with_metadata : free_names_of_params_and_body:Flambda2_nominal.Name_occurrences.t -> code_metadata:Flambda2_terms.Code_metadata.t -> Flambda2_simplify.Non_constructed_code.t
include Flambda2_nominal.Contains_names.S with type t := Flambda2_simplify.Non_constructed_code.t

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