This is a big deal. It means that Zig code can express concurrency, yet be reusable in both a blocking I/O and an evented I/O environment. There is no “async-std”. The Zig Standard Library supports both async and blocking I/O with the same codebase.
Sounds exactly like GHC’s runtime, and is what makes writing IO heavy concurrent code in Haskell such a dream - just fork more threads and let the RTS handle scheduling them and waking them when data arrives.
On async I/O:
Wow! Looking forward to watching this mature.
Sounds exactly like GHC’s runtime, and is what makes writing IO heavy concurrent code in Haskell such a dream - just fork more threads and let the RTS handle scheduling them and waking them when data arrives.
@andrewrk great work!
Aside: Oof. Those release notes must take a long time to write up.
two weeks of basically doing nothing else x_x
Ha! Well, I certainly appreciate reading such nice release notes. Reading through it is like unwrapping a present!
Er.. I mean
present.?
;)But I bet it’s a good feeling when you release it and can point out all the stuff you’ve done
Congratulations !
I am impressed by the commitment and the number of contributors in this release : it looks like Zig is on a good path :)
So far, it is a real pleasure to work with Zig and it allows me to learn new things every day.
Besides, I am glad to see some stuff regarding TCP sockets : I hope to be able to show a very barebone HTTP client in the upcoming month :)
With the new bootstrap tarball does this increase the chance of Zig supporting OpenBSD?
issue to track OpenBSD support
nice! finally a tarball for my raspberry pi! :D