zig 2026 roadmap https://zig.show/episodes/41/ 2025-07-02 2025-07-02T16:00:00Z 2025-07-02T12:00:00-04:00 ( failed, connection issues ) https://www.youtube.com/@ZigSHOWTIME XXX https://www.youtube.com/watch?v=PX4qaVPVsU8 https://www.twitch.tv/kristoff_it https://player.twitch.tv/?channel=kristoff_it&parent=zig.show 2025-07-03 2025-07-03T16:00:00Z 2025-07-03T12:00:00-04:00 Loris still having connection issues from Serengo, Italy Andrew Kelley **red hair** https://www.twitch.tv/andrewrok https://www.twitch.tv/videos/2502727595 https://github.com/andrewrk/ https://gist.github.com/andrewrk/ https://ziglang.org/download/0.14.0/release-notes.html labelled switch `goto` removed in favor of structured control flow including labeled switch `var state = State.state_0; while( cond_or_true ) { switch( state ) { ... state = .state_1; ... } }` `label: switch( StateEnum.state_0 ) { ... continue :label .state_1; ... }` continue destination can be runtime as well; labeled switch helps branch predictor. shoutouts to Alex for improved platform support "Alex Rønne Petersen" - https://github.com/alexrp newest core team member, missing welcome post, ha.. https://ziglang.org/download/ https://github.com/ziglang/zig/wiki/Updating-libc zig --Dno-lib --Dno-bin --watch -fincremental --prominent-compile-errors `-fno-emit-bin` not ideal (?) .. cat xyz.txt | vim - `zig translate-c` https://github.com/ziglang/translate-c https://github.com/Vexu/arocc complete "Veikka Tuominen" - https://github.com/Vexu dependencies to-be removed - clang - lld - llvm aarch64 jacobly0, secret project haha -target aarch64-linux -fno-llvm -OReleaseSmall -fno-compiler-rt --test-cmd qemu-aarch .. debug mode is good, register allocation ( me, bk ) ? https://wikipedia.org/wiki/Register_allocation ( me, bk ) ? https://wikipedia.org/wiki/Static_single-assignment_form zig team competing with llvm .. qemu something, zig unit testing `zig test example.zig --test-cmd qemu-aarch64 --test-cmd-bin -target aarch64-linux` `zig build -h`, `-fqemu` and `-fno-qemu` > integration with system-installed qemu to execute foreign-architecture programs on linux not default, not required ( rtfeldman in comments, very excited.. haha ) https://github.com/rtfeldman https://github.com/roc-lang/roc https://roc-lang.org/ async, io like allocator, manual vtable, coroutines(?) io vtable - async, go, await, - cancel, cancelRequested, - select, - mutexLock, mutexUnlock, - conditionWait, conditionWake, - createFile, openFile, closeFile, pread, pwrite, - now, sleep + much-more-to-come (?) andrewrk/example.zig - "async await demo" https://gist.github.com/andrewrk/1ad9d705ce6046fca76b4cb1220b3c53 os-independent restricted function types, issue 23367, devirtualization reader & writer; breakage incoming reader & writer will contain an io vtable param safe recursion, issue 1006 reusable code neurocyte/flow inhouse fuzzing afl regressed zig build test --fuzz std.testing.fuzz( Context, fn(Context,...)anyerror!void, .{} ) ( me, bk ) web server incoming, haha kristoff - community mirrors - https://ziglang.org/download/community-mirrors/ - https://ziglang.org/download/community-mirrors.txt - sycl vancouver 2026 - https://softwareyoucanlove.ca/ - https://zig.day/ - meetup early, icebreaker, hack, then share activities and results - https://zigtoberfest.de/ Q&A: io errorsets include `Canceled` ( me, bk ) spelling > While both canceled and cancelled are acceptable for the past tense of cancel, > the version with one L is more common in American English, > and the version with two L's is more common in British English. https://www.merriam-webster.com/grammar/canceled-or-cancelled function coloring ( audio /voice volume levels are crazy bad /inconsistent,quiet .. ) ``` fn doThing( io :IO ) { // try io.readFile(); io.readFile() catch |err| switch( err ) { .Canceled => { ... }, ... } } ``` ( me, bk ) function expressions are such a huge miss remove lld filesystem watching is tightly coupled to filesystems buffer field in the interface /vtable ( me, bk ) lukewarm on this ( me, bk ) XXX buffer in the Writer interface, see `writeByte` manually creating interface, "appropriate amount of friction" ( me, bk ) i technically agree, but dislike the disposition here.. "creating an interface should be kind of annoying and you should have to put a lot of thought into it" ( me, bk ) fine, true for most things.. "and you should just usually simply not do it" ( me, bk ) pretty hard disagree here horizon - streams - async io - fuzzing - web server pinned structs demoted from accepted, async await previously needed, io vtable removes need no synthetic syntax sugar for vtable-based interfaces financial support, money, every.org https://www.every.org/zig-software-foundation-inc https://ziglang.org/zsf/ 501(c)(3) non-profit currently primarily uber contract & github sponsors