sig
type t
type value = int64
type ptr = int64
val word_size : int
val zero : Machine.value
val one : Machine.value
exception Error of string
val create : ?words:int -> unit -> Machine.t
val malloc : Machine.t -> int -> Machine.ptr
val get : Machine.t -> Register.t -> Machine.value
val set : Machine.t -> Register.t -> Machine.value -> unit
val load : Machine.t -> Machine.ptr -> ofs:int -> Machine.value
val store : Machine.t -> Machine.ptr -> ofs:int -> Machine.value -> unit
val push : Machine.t -> Machine.value -> unit
val push_register : Machine.t -> Register.t -> unit
val pop : Machine.t -> Machine.value
val pop_in_register : Machine.t -> Register.t -> unit
val fresh_registers : Machine.t -> Machine.t
end