Live data from Hacker News

Zig 0.16.0 Release Notes

ziglang.org

11–20 of 44 posts

Re: Zig 0.16.0 Release Notes

#11
post #9
post #8

Earlier quoted context omitted.

This sounds interesting to me - could you elaborate a little on what things are in those proposals?

Sure, this is the issue tracking the work: https://codeberg.org/ziglang/zig/issues/30677 The idea is to offer some kind of CLI parsing in the std. It says minimal, but the discussion also veers into some more advanced options. The discussion resulted in two PRs (that I know of): - Type-driven : https://codeberg.org/ziglang/zig/issues/30677 @dotcarmen extracted it into a package ( https://codeberg.org/dotcarmen/clip )…

Thanks!

Re: Zig 0.16.0 Release Notes

#16

Have they said how many breaking changes requiring a rewrite Zig will be going through before it stabilises? Also I thought Zig doesn't have interfaces....how does the IO one work?

It has C style interfaces, meaning structs with function pointers.

Which is basically how most device drivers in OSes that happen to be written in C, including UNIX flavours, work.

Re: Zig 0.16.0 Release Notes

#17

Have they said how many breaking changes requiring a rewrite Zig will be going through before it stabilises? Also I thought Zig doesn't have interfaces....how does the IO one work?

Interfaces can still be expressed using vtables. You just have to write the vtable yourself rather than have the language do it for you.

Also, Zig's tagged unions (enums with payloads in Rust) are really ergonomic and often what you want instead of interfaces. Alot of languages that use interfaces simply don't expose a good way of doing it so everyone reaches for interfaces by default. But if you don't need an actual interface then this way you don't even have to pay the cost of runtime dynamic dispatch.

Re: Zig 0.16.0 Release Notes

#18
I/O, Linked, Incremental Compilation. Apart from 0.17 being a short release cycle. I wonder how many more releases before 1.0?

Are we looking at 0.20, another one and half year of baking?

Re: Zig 0.16.0 Release Notes

#19

Have they said how many breaking changes requiring a rewrite Zig will be going through before it stabilises? Also I thought Zig doesn't have interfaces....how does the IO one work?

Interfaces can still be expressed using vtables. You just have to write the vtable yourself rather than have the language do it for you. Also, Zig's tagged unions (enums with payloads in Rust) are really ergonomic and often what you want instead of interfaces. Alot of languages that use interfaces simply don't expose a good way of doing it so everyone reaches for interfaces by default. But if you don't need an actual…

Are there any plans to add syntax sugar for interacting with vtables?
Post reply on HN