
- cross-posted to:
- hackernews@lemmy.bestiver.se


lobsters score: 5 · tags: zig
Fun discussion on why i0 existed but is removed in this release: https://github.com/ziglang/zig/issues/1593
score 1 · canonical
Great to see the Zig project making steady progress. I genuinely love the ethos and the attention to detail that the core team has shown so far.
What keeps impressing me is that the ambition seems to extend well beyond designing a nice language. There is a lot of painstaking work going into making the whole toolchain coherent: compiler, linker, build system, cross-compilation, tooling, and now things like the Build Server Protocol. That feels like a much harder problem than adding individual language features, but potentially a much more impactful one.
I don’t always agree with their strict anti-AI stance, but at the same time, seeing what they manage to accomplish while sticking to those principles makes their efforts all the more commendable.
score 1 · canonical
So, the SafeAllocator talks about how it doesn’t re-use memory if the backing allocator doesn’t re-use memory, does that mean that long-term use of it, in, say, a web service would ultimately use up all the memory available to a process then?
score 1 · canonical
You can free memory without re-using it, thanks to virtual memory. See
You can ask OS to always give you a fresh address, even if you give completely free pages back. (of course, if anything on the page is alive, you can’t give it back).
score 2 · canonical
You can free memory without re-using it, thanks to virtual memory.
And thanks to 64 bit address spaces :-) It’s quite easy to consume 4GB at even relatively modest allocation rates.
score 1 · canonical
That confused me for a second too, but I think that’s the point. I assume the idea (that I’m not totally sold on) is that you will hardly ever have a long-running enough debug build process for it to be an actual issue more often than you will really need to reuse memory while debugging code. This is in exchange for being “absolutely certain” that your program did not have any UAFs, double frees, OOB, etc. if you’re using it like intended. I think it’s a weird default but a sensible design in and of itself.
score 1 · canonical
I’ll need to dig into which allocator is used for the gpa handed to init for ReleaseSafe builds then…
score 1 · canonical
This pull request may go down in history as one of the coolest the project has ever seen.
Generating recursive descent parsers is not easy, let alone readable ones that pass fuzzing.
score 1 · canonical
FYI Andrew has stated that 0.17.0 can be considered a release canditate and some developers have mentioned needing to skip out on it because of bugs
score 1 · canonical