Top all-time · #3459
Varun Gandhi
Personal blog · typesanitizer.com/blogprogramming
Varun Gandhi writes @typesanitizer's blog, a personal blog at typesanitizer.com about programming. Since 2021, 22 different Hacker News readers have linked it 35 times, most often “Zig-style generics are not well-suited for most languages”. It is still writing: the last post was on 2026-11-01, and you can follow it by feed.
Too few sampled comments (6) to say how often HN recommends it.?
Why HN links it
HN readers cite Varun Gandhi's posts as a reference in debates about Zig's comptime and generics, especially the zig-generics article on type checking generics. Also cited on optimizers.
Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Zig-style generics are not well-suited for most languages6 people · 7 mentions · first linked 2022-10-09
- Deeper theories of program design3 people · 3 mentions · first linked 2025-07-20
- Leaving my last job [at Apple]3 people · 3 mentions · first linked 2024-09-29
- A programmer's field guide to assertions2 people · 2 mentions · first linked 2025-08-17
- The purported benefits of effect systems2 people · 2 mentions · first linked 2025-11-01
- Reviewing Code Is a Skill2 people · 2 mentions · first linked 2026-08-11
- Experience Report: 6 months of Go2 people · 2 mentions · first linked 2022-04-30
- Job queues are deceptively tricky2 people · 2 mentions · first linked 2026-07-14
- Meta-analysis of three different notions of software complexity2 people · 2 mentions · first linked 2025-06-14
What Hacker News says?
> being able to reason about functions just from their type signature. This has nothing to do with compile-time execution, though. You can reason about a function from its declaration if it has a clear logical purpose, is well named, and has well named parameters. You can consider any part of a parameter the programmer can specify as part of the name, including label, type name, etc. > There is a good discussion of…
Comment linking /blog/zig-generics.html
on “Zig's comptime is bonkers good”Submitted Experience Report: 6 months of Go as a story · 295 points
HN discussionIt would be nice to have a more indepth discussion of the issues that have been found with compile-time programming, rather than uncritical acclaim. Staged programming is not new, and people have run into many issues and design tradeoffs in that time. (E.g. the same stuff has been done in Lisps for decades, though most Lisps don't have a type system, which makes things a bit more complicated.) Some of the issues tha…
Comment linking /blog/zig-generics.html
on “Zig's comptime is bonkers good”Submitted An epic treatise on error models for systems programming languages as a story · 221 points
HN discussionHow do you typecheck generics, with type inference, with comptime? Or, more generally, address all the issues raised in [1]. You're saying that comptime can fully replicate all the features that a proper generics system has, which is plainly false. [1]: https://typesanitizer.com/blog/zig-generics.html
Comment linking /blog/zig-generics.html
on “Crabtime: Zig’s Comptime in Rust”Submitted Zig-style generics are not well-suited for most languages as a story · 172 points
HN discussionZig comptime is a C++ template done better. It also suffers from similar issues as C++ templates. You can't know function is comptime unless you put it in comptime and it passes. See https://typesanitizer.com/blog/zig-generics.html
Comment linking /blog/zig-generics.html
on “Crabtime: Zig’s Comptime in Rust”Submitted Optimizers need a rethink as a story · 149 points
HN discussionin the "closing thoughts" [1] of the OP article there's a pointer to "Proebstrings law" [2] which got me to a benchmark [3] how LLVM has improved over 10 years from 2.7 to 11 which leaves me with the strong intuition that indeed what mit benefit more from a rethink is not optimizers but focus on programmer productivity > Perhaps this means Programming Language Research should be concentrating on something other than…
Comment linking /blog/rethink-optimizers.html
on “Optimizers need a rethink”Submitted Meta-analysis of three different notions of software complexity as a story · 109 points
HN discussion> really-bad compile-time languages (called "type systems") that do 5% of what's useful with incomprehensible syntax, rather than just make the compiler itself programmable. Because some things aren't knowable at compile time. E.g. what is the value I enter at runtime, and all values derived from it, but also state of environment, and so on. Pretending they are the same is a weak point of Zig. By making `const` a pr…
Comment linking /blog/zig-generics.html
on “Live Objects All the Way Down: Removing the Barriers Between Apps and VMs”Submitted Zig-style generics are not well-suited for most languages (2022) as a story · 27 points
HN discussionSubmitted The purported benefits of effect systems as a story · 26 points
HN discussionSubmitted Six Programmers and the Type System as a story · 17 points
HN discussionSubmitted Leaving my last job [at Apple] as a story · 14 points
HN discussionSubmitted On Leaving My Last Job as a story · 13 points
HN discussionSubmitted The purported benefits of effect systems as a story · 7 points
HN discussionSubmitted A programmer's field guide to assertions as a story · 6 points
HN discussionSubmitted An outsider's perspective on Scion and Mononoke as a story · 5 points
HN discussionSubmitted There continue to be reasons for software to be slow as a story · 3 points
HN discussionSubmitted Reviewing Code Is a Skill as a story · 3 points
HN discussionSubmitted Deeper Theories of Program Design as a story · 3 points
HN discussionSubmitted Deeper theories of program design as a story · 3 points
HN discussionSubmitted Deeper theories of program design as a story · 3 points
HN discussionSubmitted An opinionated beginner's guide to Haskell in mid-2019 (2019) as a story · 3 points
HN discussionSubmitted Job queues are deceptively tricky as a story · 2 points
HN discussionSubmitted Job queues are deceptively tricky as a story · 2 points
HN discussionSubmitted How should we learn from bugs? as a story · 2 points
HN discussionSubmitted Leaving my last job (2024) as a story · 2 points
HN discussionSubmitted Experience Report: 6 months of Go (2022) as a story · 2 points
HN discussion