This was really cool. I’ll need to watch that a few times to understand Zig’s callsite behavior. I’ve never seen that design before, but it seems nice to have this kind of flexibility.
In Zig, if you naively wrote an async function and then called it without async, would it behave as expected synchronously?
What are the historical influences on each language’s async design? What was the first language with Zig’s callsite behavior?
If you want to read an introductory post to Zig’s Async/Await, I wrote this a while ago: