Top all-time · #4860
William J. Bowman
Personal blog · williamjbowman.com/blogprogrammingai
William J. Bowman writes λk.(k blog): λk.(k blog), a personal blog at williamjbowman.com about programming and ai. Since 2014, 16 different Hacker News readers have linked it 26 times, most often “Against Vibes: When Is a Generative Model Useful”. It is still writing: the last post was on 2026-03-25, 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 link Bowman's posts on programming languages and compilers, including Racket hashlangs, A-normal form, and an ethics-of-compilers talk, plus a post on LLM-assisted coding workflows.
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.
William J. Bowman's home on the web.
Most-linked posts?
- Against Vibes: When Is a Generative Model Useful3 people · 3 mentions · first linked 2026-03-10
- Dependent Type Systems as Macros [pdf]2 people · 2 mentions · first linked 2020-01-20
- What's higher-order about so-called higher-order references?2 people · 2 mentions · first linked 2025-06-03
- Untyped Programs Don’t Exist2 people · 2 mentions · first linked 2018-01-20
- Fully Abstract Compilation via Universal Embedding [pdf]2 people · 2 mentions · first linked 2016-07-27
What Hacker News says?
> Generic things should be parametric most of the time, and non-parametricity should be visible, so that people don't do it accidentally. Economy of mechanism is powerful though, it's one of the reasons C is still so popular. The comptime approach that provides both parametric and ad-hoc polymorphism using a single mechanism seems to fit Zig quite well. I'm still a bit of a typaholic, but I've really come to appreci…
Comment linking /resources/wjb2019-depmacros.pdf
on “Zig's comptime is bonkers good”Submitted Dependent Type Systems as Macros [pdf] as a story · 95 points
HN discussionI've been trying to get LLMs to make Racket "hashlangs"† for years now, both for simple almost-lisps and for honest-to-god different languages, like C. It's definitely possible, raco has packages‡ for C, Python, J, Lua, etc. Anyway so far I haven't been able to get any nice result from any of the obvious models, hopefully they're finally smart enough. † https://williamjbowman.com/tmp/how-to-hashlang/ ‡ https://pkgd.…
Comment linking /tmp/how-to-hashlang/
on “FAWK: LLMs can write a language interpreter”Submitted Indexed types for a statically safe WebAssembly [pdf] as a story · 51 points
HN discussionBtw, I got inspired by this: https://www.williamjbowman.com/blog/2026/03/05/against-vibes... Really useful read!
Comment linking /blog/2026/03/05/against-vibes-when-is-a-generative-model-useful/
on “Maybe we can keep on coding? pseudo code project”Submitted Fully Abstract Compilation via Universal Embedding [pdf] as a story · 46 points
HN discussionhttps://www.williamjbowman.com/resources/wjb2024-anf-is-dead...
Comment linking /resources/wjb2024-anf-is-dead.pdf
on “A Low-Level Look at A-Normal Form”Submitted Untyped Programs Don’t Exist as a story · 45 points
HN discussionPreprint: https://williamjbowman.com/resources/wjb2024-ethical-compile... DOI: https://doi.org/10.1145/3704253.3706135 William J. Bowman. The 2025 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) – Invited Talk. Abstract: "The is-ought gap is a problem in moral philosophy observing that ethical judgments ("ought") cannot be grounded purely in truth judgments ("is"): that an ought cannot be…
Comment linking /resources/wjb2024-ethical-compiler.pdf
on “The Ethical Compiler: Addressing the Is-Ought Gap in Compilation (PEPM 2025) [video]”Submitted Macro-Embedding Compiler Intermediate Languages in Racket [pdf] as a story · 26 points
HN discussionIf you read this: https://www.williamjbowman.com/blog/2026/03/05/against-vibes... you will notice that this may not even be the correct workflow (depending on what you want to achieve of course. If you just verifiable web-dev, you can keep on doing what you do; even then there may be counter-args). Generally, I noticed that when I went back to my old work flow of writing rough pseudo code (which aggregated doesn't a…
Comment linking /blog/2026/03/05/against-vibes-when-is-a-generative-model-useful/
on “Ask HN: How are you managing "prompt fatigue" and lazy LLM outputs?”Submitted Fully Abstract Compilation via Universal Embedding [pdf] as a story · 24 points
HN discussionSubmitted A Low-Level Look at A-Normal Form as a story · 4 points
HN discussionSubmitted Do compilers respect programmers? [pdf] as a story · 3 points
HN discussionSubmitted Untyped Programs Don’t Exist as a story · 3 points
HN discussionSubmitted What's higher-order about so-called higher-order references? as a story · 2 points
HN discussionSubmitted A low-level look at A-normal form as a story · 2 points
HN discussionSubmitted “What Is Syntax?” as a story · 2 points
HN discussionSubmitted Experimenting with Languages in Redex as a story · 2 points
HN discussionSubmitted What even is compiler correctness? as a story · 2 points
HN discussionSubmitted Against Vibes: When Is a Generative Model Useful as a story · 1 points
HN discussionSubmitted What's higher-order about so-called higher-order references? as a story · 1 points
HN discussionSubmitted The Syllabus as a story · 1 points
HN discussionSubmitted Setting up WebDAV, CalDAV, and CardDAV servers (2015) as a story · 1 points
HN discussionSubmitted Untyped Programs Don’t Exist as a story · 1 points
HN discussionSubmitted Auto-starting/stopping minecraft server using xinetd as a story · 1 points
HN discussion