namespace; include rt, actor; typecheck on; int delayed(int n) { rt.syscall(48, 300, 0, 0); return n + 1; } fn main() { actor.Actor* a = rt.new(actor.Actor), b = rt.new(actor.Actor); let first = 0, second = 0; a.spawn(delayed); b.spawn(delayed); a.recv(fn(int value) { first = value; return 0; }); b.recv(fn(int value) { second = value; return 0; }); let started = rt.syscall(50, 0, 0, 0); a.send(10); b.send(20); rt.put_n(first); rt.put_c(' '); rt.put_n(second); rt.put_c(10); a.await(); b.await(); rt.put_n(first); rt.put_c(' '); rt.put_n(second); rt.put_c(10); rt.put_n(rt.syscall(50, 0, 0, 0) - started); rt.put_c(10); a.close(); b.close(); return 0; }