Process, Args.
Process
:= []
run_with_stdin! : Program, Str => Try(ProcessRunResult, [ProcessRunErr(Str), OutOfBounds])
Process, Stdin.
Program
:= {
bin : Str,
args : Str ?? "",
}
ProcessRunResult
:= {
exit_code : U8,
stdout : List(U8),
stderr : List(U8),
}
is_eq : _
success : ProcessRunResult, { error_message : Str } -> Try(ProcessRunResult, (ProcessRunResult, Str))
Exit Code is 0.
success_and_stderr_empty : ProcessRunResult, { error_message : Str } -> Try(ProcessRunResult, (ProcessRunResult, Str))
Exit Code is 0 and Stderr empty.
exit_write_to_stderr! : ProcessRunResult, Str => Try({}, [Exit(I32), StderrErr(Str)])
message_with_stderr : ProcessRunResult, { error_message : Str } -> Str