An Abstract Machine
I seem to have one. Here's the OCaml signature. The module file is all of 250 lines at this point, but I expect to define a lot of built-in processes for the preamble. That will bloat out the module file.
type 'a t
module Op: sig
val ( >>= ): 'a t -> ('a -> 'b t) -> 'b t
endval return: 'a -> 'a t
val eval: unit t -> unittype n
type repeat = Once | Alwaysval nil: unit t
val start: unit t -> unit t
val lambda: n t
val nu: n t
val fusion: n -> repeat -> n list -> unit t -> unit tval v_void: n
val v_true: n
val v_false: nval if_then_else: n -> unit t -> unit t -> unit t
type dio = D_in | D_out
val def: dio list -> (n array -> unit t) -> n tval preamble: n Name.Map.t t
