Module Vm

Debug printing

val set_drawinstr : unit -> unit
val reduce_fix : int -> Vmvalues.vfix -> Vmvalues.vfun array * Vmvalues.values array

bodies , types

val reduce_cofix : int -> Vmvalues.vcofix -> Vmvalues.values array * Vmvalues.values array

bodies , types

val type_of_switch : Vmvalues.vswitch -> Vmvalues.values
val branch_of_switch : int -> Vmvalues.vswitch -> (int * Vmvalues.values) array
val reduce_fun : int -> Vmvalues.vfun -> Vmvalues.values
val decompose_vfun2 : int -> Vmvalues.vfun -> Vmvalues.vfun -> int * Vmvalues.values * Vmvalues.values

decompose_vfun2 k f1 f2 takes two functions f1 and f2 at current DeBruijn level k, with n lambdas in common, returns n and the reduced bodies under those lambdas.

Apply a value

val apply_whd : int -> Vmvalues.kind -> Vmvalues.values