Specification of primitive types
module Args : sig ... end
module Result_spec : sig ... end
type ('a, 'b) t
=
{
name : string; |
args : 'a Args.Spec.t; |
result : 'b Result_spec.t; |
run : Shexp_process__.Env.t ‑> 'a; |
}
val make : string ‑> 'a Args.Spec.t ‑> 'b Result_spec.t ‑> (Shexp_process__.Env.t ‑> 'a) ‑> ('a, 'b) t
val run : ('a, 'b) t ‑> Shexp_process__.Env.t ‑> ('a, 'b) Args.t ‑> 'b
val sexp_of_call : ('a, 'b) t ‑> ('a, 'b) Args.t ‑> Shexp_sexp.Std.Sexp.t
val sexp_of_result : ('a, 'b) t ‑> 'b ‑> Shexp_sexp.Std.Sexp.t option
Returns None
if the result is Unit
or Env