On 8 March 2025 10:44:35 GMT, Daniil Gentili <daniil.gent...@gmail.com> 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]

Reply via email to