On 8 March 2025 10:44:35 GMT, Daniil Gentili <[email protected]> wrote:
>The only thing that's truly needed in this RFC is a set of synchronization primitives like
>in golang, and a way to parent/unparent fibers in order to inherit cancellations (as previously
>mentioned in this list), not contexts, async blocks and colored functions.
The async block as I'm picturing it has nothing to do with function colouring, it's about
the outermost function in an async stack being able to say "make sure the scheduler is
started" and "block here until all child fibers are either concluded, detached, or
cancelled".
It's roughly equivalent to calling the RFC's Async\launchScheduler() more than once, but I
imagine the later calls would not actually start a new scheduler, just track a group of fibers.
If we're building this into the language, we're not limited to expressing things with
functions and objects, and a block syntax makes it trivial for the compiler to detect a mismatched
start and end.
Regards,
Rowan Tommins
[IMSoP]