fibers B1.2: lambda-only async (named-fn :: feature deferred)

User decision: ship B1.2 async with lambda workers (works today, zero
compiler change); defer named-fn workers, which need a new :: callable-
parameter language feature (3 failed worker attempts; partial WIP saved
at .sx-tmp/wip-callable-params/). Records the resolved lambda async idiom
+ resume plan; no compiler/library code changed.
This commit is contained in:
agra
2026-06-20 21:51:01 +03:00
parent 7bf65565bd
commit eee905c73c

View File

@@ -140,6 +140,14 @@ fibers/Io/scheduler code yet. Grounded floor facts:
boundary; a sharper sx diagnostic for it is a candidate polish, not a blocker.
## Next step
**DECISION (user, 2026-06-20): B1.2 async = LAMBDA workers only for now; named-fn workers
(`async(read_a, conn)`) are DEFERRED.** Named-fn support needs a new `::` callable-parameter
language feature (`fn :: (..$args) -> $R` param) that doesn't exist yet — it failed 3 worker
attempts; the partial WIP (parser+scaffolding done, type-pack/return inference INCOMPLETE —
panics on every form) is saved at `.sx-tmp/wip-callable-params/patch.diff` for a dedicated
future effort. So B1.2 ships with the lambda idiom below; call sites use
`context.io.async((c) => read_a(c), conn)` until the `::` feature lands.
**B1.2 — resume now (UNBLOCKED, no compiler fix needed).** Re-land from the saved WIP
(`.sx-tmp/b12-wip/`): keep the verified-working parts — the `Io` protocol on `Context`, both
`__sx_default_context` materializers (protocol.zig + comptime_vm.zig), the push-inherit-omitted