Hacker News new | ask | show | jobs
by sesm 103 days ago
Instead of implementing a workaround for types as namespaces, wouldn't it better to explicitly add namespaces to the language?
2 comments

I think zig is striving for language minimalism, make it minimal as possible then if a feature optimized multiple places use cases benefit
It's not so much a workaround as it is an elegance in design. In Zig, when you @import a file, that file is converted to a struct with comptime fields for all of the public members. Similarly, a "namespace" in Zig is just a nested struct with more fields. Usually it's just another import of something else.

N.B.: Coffee hasn't reached my bloodstream yet; accuracy not guaranteed.

files aren't converted to structs on import, they _are_ structs (well, their contents are the inside of a struct declaration). also, public members don't become comptime fields? file structs are basically left as-is on import, nearly like you copy&pasted the file contents into a struct declaration