skip to main content
pastebin.ca
All pastes #9NzSPMQ6dX Raw Edit

hew paste

public hew v1 · immutable
#9NzSPMQ6dX ·published 2026年06月04日 22:54 UTC ·by slepp
rendered paste body
// Structured concurrency in Hew: a scope owns its child tasks and joins them// all before the scope expression returns. Tasks are forked with `fork { ... }`// and run on real OS threads; the enclosing `scope { }` is the join boundary.//// Constraints in this build: spawning happens inside an actor handler (which// carries the execution context); each forked function is a zero-argument,// unit-returning free function. Nested scopes compose, and an empty// `after(d) {}` arms a cancellation deadline on the surrounding scope.fn fetch_orders() { println("fetched orders");}fn fetch_inventory() { println("fetched inventory");}fn settle() { println("reconciled");}actor _Pipeline { receive fn run() -> i64 { // Outer scope: two siblings fork concurrently and BOTH join here. scope { after(5s) {} fork { fetch_orders(); } fork { fetch_inventory(); } // Nested scope: its own child joins before the outer scope drains. scope { fork { settle(); } }; }; 0 }}fn main() -> i64 { let p = spawn _Pipeline; match await p.run() { Ok(code) => code, Err(_e) => 1, }}

AltStyle によって変換されたページ (->オリジナル) /