ref: 954b2fd7a8a0a65a077b61a5932ed54d3e3ef6a5
dir: /lib/thread/spawn+plan9.myr/
use std use sys pkg thread = type tid = uint64 const spawn : (fn : (-> void) -> std.result(tid, byte[:])) ;; const spawn = {fn fn = std.fndup(fn) match sys.rfork(sys.Rfproc | sys.Rfmem) | 0: fn() std.fnfree(fn) std.exit(0) | -1: std.fnfree(fn) -> `std.Err "unable to spawn thread" | thr: -> `std.Ok (thr : tid) ;; }