ref: ff88594df5c5df6fb8f227ab8e5df3529ba6e72f
dir: /lib/thread/test/do.myr/
use std use thread const main = { match std.espork(["/bin/echo", "hello"][:]) | `std.Err e: std.fatal("could not spork\n") | `std.Ok (pid, in, out, err): std.close(in) var o = thread.do({;-> std.fslurp(out)}) var e = thread.do({;-> std.fslurp(err)}) var w = std.wait(pid) match w | `std.Wsuccess: /* ok */ | bad: std.fatal("bad wait: {}\n", bad) ;; match thread.futget(o) | `std.Ok "hello\n": /* ok */ | bad: std.fatal("bad out: {}\n", bad) ;; match thread.futget(e) | `std.Ok "": /* ok */ | bad: std.fatal("bad err: {}\n", bad) ;; ;; }