Module Flambda2_types.Typing_env
type t = Flambda2_types.typing_envmodule Pre_serializable : sig ... endmodule Serializable : sig ... endval print : Stdlib.Format.formatter -> Flambda2_types.Typing_env.t -> unitval create :
machine_width:Target_system.Machine_width.t ->
resolver:
(Compilation_unit.t -> Flambda2_types.Typing_env.Serializable.t option) ->
get_imported_names:(unit -> Flambda2_identifiers.Name.Set.t) ->
Flambda2_types.Typing_env.tval machine_width :
Flambda2_types.Typing_env.t ->
Target_system.Machine_width.tval closure_env : Flambda2_types.Typing_env.t -> Flambda2_types.Typing_env.tval resolver :
Flambda2_types.Typing_env.t ->
Compilation_unit.t ->
Flambda2_types.Typing_env.Serializable.t optionval code_age_relation_resolver :
Flambda2_types.Typing_env.t ->
Compilation_unit.t ->
Flambda2_types.Code_age_relation.t optionval current_scope : Flambda2_types.Typing_env.t -> Flambda2_term_basics.Scope.tval increment_scope :
Flambda2_types.Typing_env.t ->
Flambda2_types.Typing_env.tval add_definition :
Flambda2_types.Typing_env.t ->
Flambda2_bound_identifiers.Bound_name.t ->
Flambda2_kinds.Flambda_kind.t ->
Flambda2_types.Typing_env.tval add_definitions_of_params :
Flambda2_types.Typing_env.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
Flambda2_types.Typing_env.tval add_symbol_definition :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Symbol.t ->
Flambda2_types.Typing_env.tval add_symbol_definitions :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Symbol.Set.t ->
Flambda2_types.Typing_env.tval add_symbol_projection :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Variable.t ->
Flambda2_term_basics.Symbol_projection.t ->
Flambda2_types.Typing_env.tval find_symbol_projection :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Variable.t ->
Flambda2_term_basics.Symbol_projection.t optionval add_equation :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
Flambda2_types.flambda_type ->
Flambda2_types.Typing_env.tval add_equations_on_params :
Flambda2_types.Typing_env.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
param_types:Flambda2_types.flambda_type list ->
Flambda2_types.Typing_env.tval add_is_null_relation :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
scrutinee:Flambda2_term_basics.Simple.t ->
Flambda2_types.Typing_env.tval add_is_int_relation :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
scrutinee:Flambda2_term_basics.Simple.t ->
Flambda2_types.Typing_env.tval add_get_tag_relation :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
scrutinee:Flambda2_term_basics.Simple.t ->
Flambda2_types.Typing_env.tval mem :
?min_name_mode:Flambda2_nominal.Name_mode.t ->
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
boolval mem_simple :
?min_name_mode:Flambda2_nominal.Name_mode.t ->
Flambda2_types.Typing_env.t ->
Flambda2_term_basics.Simple.t ->
boolval find :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
Flambda2_kinds.Flambda_kind.t option ->
Flambda2_types.flambda_typeval find_or_missing :
Flambda2_types.Typing_env.t ->
Flambda2_identifiers.Name.t ->
Flambda2_types.flambda_type optionval find_params :
Flambda2_types.Typing_env.t ->
Flambda2_bound_identifiers.Bound_parameters.t ->
Flambda2_types.flambda_type listval add_env_extension :
Flambda2_types.Typing_env.t ->
Flambda2_types.Typing_env_extension.t ->
Flambda2_types.Typing_env.tval add_env_extension_with_extra_variables :
Flambda2_types.Typing_env.t ->
Flambda2_types.Typing_env_extension.With_extra_variables.t ->
Flambda2_types.Typing_env.tval get_canonical_simple_exn :
Flambda2_types.Typing_env.t ->
?min_name_mode:Flambda2_nominal.Name_mode.t ->
?name_mode_of_existing_simple:Flambda2_nominal.Name_mode.t ->
Flambda2_term_basics.Simple.t ->
Flambda2_term_basics.Simple.tRaises Not_found if no canonical Simple was found. name_mode_of_existing_simple can be provided to improve performance of this function.
val type_simple_in_term_exn :
Flambda2_types.Typing_env.t ->
?min_name_mode:Flambda2_nominal.Name_mode.t ->
Flambda2_term_basics.Simple.t ->
Flambda2_types.flambda_type * Flambda2_term_basics.Simple.tRaises Not_found if no canonical Simple was found.
val get_alias_then_canonical_simple_exn :
Flambda2_types.Typing_env.t ->
?min_name_mode:Flambda2_nominal.Name_mode.t ->
?name_mode_of_existing_simple:Flambda2_nominal.Name_mode.t ->
Flambda2_types.flambda_type ->
Flambda2_term_basics.Simple.tRaises Not_found if no canonical Simple was found.
val code_age_relation :
Flambda2_types.Typing_env.t ->
Flambda2_types.Code_age_relation.tval with_code_age_relation :
Flambda2_types.Typing_env.t ->
Flambda2_types.Code_age_relation.t ->
Flambda2_types.Typing_env.tval add_to_code_age_relation :
Flambda2_types.Typing_env.t ->
new_code_id:Flambda2_identifiers.Code_id.t ->
old_code_id:Flambda2_identifiers.Code_id.t option ->
Flambda2_types.Typing_env.tval free_names_transitive :
Flambda2_types.Typing_env.t ->
Flambda2_types.flambda_type ->
Flambda2_nominal.Name_occurrences.tval bump_current_level_scope :
Flambda2_types.Typing_env.t ->
Flambda2_types.Typing_env.tval stable_compare_simples :
Flambda2_types.Typing_env.t ->
Flambda2_term_basics.Simple.t ->
Flambda2_term_basics.Simple.t ->
intmodule Alias_set : sig ... endval aliases_of_simple :
Flambda2_types.Typing_env.t ->
min_name_mode:Flambda2_nominal.Name_mode.t ->
Flambda2_term_basics.Simple.t ->
Flambda2_types.Typing_env.Alias_set.t