import Std::Io::PrintLine; extern func bux_async_yield(); extern func bux_async_run(); extern func bux_async_spawn(fn: *void) -> *void; extern func bux_async_await(handle: *void); async func WorkA() { PrintLine("WorkA: step 1"); bux_async_yield(); PrintLine("WorkA: step 2"); bux_async_yield(); PrintLine("WorkA: done"); } async func WorkB() { PrintLine("WorkB: step 1"); bux_async_yield(); PrintLine("WorkB: step 2"); bux_async_yield(); PrintLine("WorkB: done"); } func Main() -> int { PrintLine("Main: start"); let h1: *void = spawn WorkA(); let h2: *void = spawn WorkB(); bux_async_await(h1); bux_async_await(h2); PrintLine("Main: all done"); return 0; }