type host = {transcript : string -> unit;milliseconds : unit -> int;inspect : oop -> unit;mouse : unit -> int * int * int;
}type process_state = | Runnable| Suspended of string| Finished of oop| Terminated
type primitive = vm -> int -> boolval set_host : vm -> host -> unitval run : ?stop_when:(vm -> bool) -> vm -> process -> budget:int -> unitval suspend : process -> string -> unitval call :
vm ->
?budget:int ->
oop ->
string ->
oop list ->
(oop, string) Stdlib.resultval print_string : vm -> oop -> stringval evaluate :
vm ->
?budget:int ->
?receiver:oop ->
string ->
(oop, string) Stdlib.resultval stack : vm -> int -> oopval pop : vm -> int -> unitval push : vm -> oop -> unitval bool : vm -> bool -> oopval send : vm -> oop -> int -> unitval active_context : vm -> oopval home_context : vm -> oopval activate_context : vm -> oop -> unitval request_suspend : vm -> string -> unitval flush_cache : vm -> unitval cache_stats : vm -> int * intval bytecodes_run : vm -> intval is_block_context : vm -> oop -> bool