https://github.com/rsepassi/zigcoro
An implementation of stackful asymmetric coroutines in Zig (and some assembly).
Allows for 3 kinds of usage: suspend/resume, yield/next (coroutine-based generators), and async/await.
Supports Mac, Linux, and Windows, x86_64 and aarch64 (x86_64 under CI on GitHub).
Planning on hooking this up with libuv or libxev soon so that I can start using async/await-like code before (stackless) async lands.
Was fun learning some simple assembly and exploring how clean and powerful coroutines can be. Curious to hear what you think, if you see places where things can be improved, or if you'd like to see or contribute some features. It's my second Zig library, so any and all comments welcome!