Module Vmvalues
type valuestype structured_valuestype vm_envtype vm_globaltype vprodtype vfuntype vfixtype vcofixtype vblocktype argumentstype vstack= values arraytype to_updatetype tag= int
val accu_tag : tagval type_atom_tag : tagval max_atom_tag : tagval proj_tag : tagval fix_app_tag : tagval switch_tag : tagval cofix_tag : tagval cofix_evaluated_tag : tag
type structured_constant=|Const_sort of Sorts.t|Const_ind of Names.inductive|Const_b0 of tag|Const_univ_level of Univ.Level.t|Const_val of structured_values|Const_uint of Uint63.t|Const_float of Float64.t
val pp_struct_const : structured_constant -> Pp.t
type reloc_table= (tag * int) arraytype annot_switch={ci : Constr.case_info;rtbl : reloc_table;tailcall : bool;max_stack_size : int;}
val eq_structured_constant : structured_constant -> structured_constant -> boolval hash_structured_constant : structured_constant -> intval eq_annot_switch : annot_switch -> annot_switch -> boolval hash_annot_switch : annot_switch -> intval fun_val : vfun -> valuesval fix_val : vfix -> valuesval cofix_upd_val : to_update -> valuesval fun_env : vfun -> vm_envval fix_env : vfix -> vm_envval cofix_env : vcofix -> vm_envval cofix_upd_env : to_update -> vm_envval vm_global : values array -> vm_globalval fun_of_val : values -> vfunCast a value known to be a function, unsafe in general
val crazy_val : values
type tcodetype vswitch={sw_type_code : tcode;sw_code : tcode;sw_annot : annot_switch;sw_stk : vstack;sw_env : vm_env;}
val mkAccuCode : int -> tcode
type id_key=|ConstKey of Names.Constant.t|VarKey of Names.Id.t|RelKey of Int.t|EvarKey of Evar.t
type atom=|Aid of id_key|Aind of Names.inductive|Asort of Sorts.t
val get_atom_rel : unit -> atom arrayGlobal table of rels
type zipper=|Zapp of arguments|Zfix of vfix * argumentsmight be empty
|Zswitch of vswitch|Zproj of Names.Projection.Repr.ttype stack= zipper listtype whd=|Vprod of vprod|Vfun of vfun|Vfix of vfix * arguments option|Vcofix of vcofix * to_update * arguments option|Vconstr_const of int|Vconstr_block of vblock|Vint64 of int64|Vfloat64 of float|Vatom_stk of atom * stack|Vuniv_level of Univ.Level.t
val val_of_str_const : structured_constant -> valuesval val_of_rel : int -> valuesval val_of_named : Names.Id.t -> valuesval val_of_constant : Names.Constant.t -> valuesval val_of_evar : Evar.t -> valuesval val_of_proj : Names.Projection.Repr.t -> values -> valuesval val_of_atom : atom -> valuesval val_of_int : int -> structured_valuesval val_of_block : tag -> structured_values array -> structured_valuesval val_of_uint : Uint63.t -> structured_values
val val_of_annot_switch : annot_switch -> valuesval val_of_proj_name : Names.Projection.Repr.t -> values
val whd_val : values -> whdval uni_lvl_val : values -> Univ.Level.t
val closure_arity : vfun -> intFun
val current_fix : vfix -> intval check_fix : vfix -> vfix -> boolval rec_args : vfix -> int arrayval first_fix : vfix -> vfixval fix_types : vfix -> tcode arrayval cofix_types : vcofix -> tcode array