Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Oh but it is.


Oh but it isn’t.


They just did a massive reactor that broke nearly 100% of existing code. Only an early language can do that.


What version are you referring to? I've had zero issues updating my zig stuff to 0.15.2 with frontier LLM assistance.


I’ll use Ghostty as an example because that’s the only software I use that I know is written in Zig. It’s also a moderately complex project not a toy project.

Its Zig 0.15 effort started in August and was only complete in October (see first PR at https://github.com/ghostty-org/ghostty/pull/8372). And many issues were encountered and solved along the way. And of course during all of this they also encountered an issue in Zig itself: https://github.com/ziglang/zig/issues/24627


The huge change that will be passing Io objects around like you have with Allocator.


0.16 changes things around dramatically.


Docs on this?


Here[1]. This mentions async, but it affects every single use of IO functions.

[1] https://kristoff.it/blog/zig-new-async-io/


Ah. Yeah.

My main Zig project will need over 1,000 edits to get it up there :O I've already had Claude spec out the changes required. I'll just have it or Codex or whatever fork itself into one agent per file and bang on it (for the stuff I can't regex myself) ;)

But the IO thing is frankly a good idea. I/O dependency injection, when I've used it in the past, has made testing quite a bit simpler (such as routing any I/O stream into a string to assert on) and the code much easier to reason about. The extra argument is a bit annoying, but that's the price of purity and it's worth it.


Also anything that reads environment variables.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: