HN Hall of Fame Weekly email

Let’s Build a Compiler (1995)

compilers.iecc.com Books & learning Tutorials & guides Computer science Candidate
Screenshot of compilers.iecc.com captured 2026-07-20
Page preview · captured 2026-07-20

The originally submitted URL now redirects to the address above. Updating the destination does not change the item’s HN history, Hall membership, or rank.

Resurfaced independently across 11 calendar years, with breakout response in 4 of them.

submissions
12
submitters
12
observed span
2007–2026
peak thread · 56 comments
247 pts
latest 20+ return · 2023-12-26
124 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

If you're looking for a modern compilers class -- including the theory of why this stuff works -- I highly recommend Matt Might's [0]. All of the notes, slides, and code are online. I audited Might's "Compilers" this spring. He live-coded a parser that parsed with derivatives, returning all possible parse trees whenever there were ambiguities in the grammar. [1] (Try getting that from yacc, or basically any other tool in existence right now.) All of his coding was done…

sigil·247-point thread·

Looks like it took a number of years for the article to be finished. From “back to the future”: I won't spend a lot of time making excuses; only point out that things happen, and priorities change. In the four years since installment fourteen, I've managed to get laid off, get divorced, have a nervous breakdown, begin a new career as a writer, begin another one as a consultant, move, work on two real-time systems, and raise fourteen baby birds…

eismcc·240-point thread·

Dated, but simple, and more importantly, concrete, using almost no abstractions (like lex and yacc), so there's no magic. Since the compiler described is for a subset of Pascal, and the compiler is itself written in Pascal, even the magic of the compiler itself is explained away. This series is a large part of how I got started in the compiler business; and today I help maintain probably the most used Pascal compiler, in Delphi. If anyone is interested in…

barrkel·196-point thread·

It seems that in many compiler resources (even the modern ones), there is still a lot of focus on the front-end—things like lexing, parsing, DFAs, regex matching, recursive descent. I would like to see greater focus on the back-end: optimisation strategies like dead code elimination, register allocation, parallelisation, vectorisation, detecting SIMD-able code, and even whole-program optimisation. Even on the front-end, it would be nice to see focus on the failure cases—printing nicely formatted error messages…

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
4

100+ points or 50+ comments

Total points
850

reference only — not used in Hall rules or ranking

Total comments
133

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2007-10-04Let's build a compiler (dated, but very good)benhoyt152
2010-09-25Let’s Build a Compiler (1995)First breakoutaycangulez19617
2011-03-25Let's Build a Compilermbowcock61
2013-10-30Let’s Build a Compiler (1995)Best thread_virtu24756
2015-05-06Let's Build a Compilermariuz30
2016-01-13Let's build a compileralanfranzoni50
2016-05-11Lets build compilerspvsukale161
2019-03-07Let's Build a Compiler, by Jack Crenshawlrsjng40
2020-02-17Let’s Build a Compiler (1995)undreren24041
2022-05-11Let's Build a Compiler, by Jack Crenshaw (1995)dunefox20
2023-12-26Let's Build a Compiler (1988)Latest 20+ point returnibobev12415
2026-05-10Let's Build a Compilertosh20