I am going out on a limb here, as I used Rust for the examples, but I think this might be an interesting read for Zig systems programmers non-the-less. And there are at least four different fun but simple Zig libraries waiting to be written in that post:
- a library that turns an
[]const u8
into a PRNG, - a library that implements property-based-testing loop on top of that,
- a library that plugs coverage guided fuzzing into that interface,
- the topic of the post, a library for pausing concurrent operations and implementing deterministic thread scheduling,
- a port of exhaustigen to Zig.