HN Hall of Fame Weekly email

(How to Write a (Lisp) Interpreter (in Python))

norvig.com Books & learning Tutorials & guides Computer science Candidate
Screenshot of norvig.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 9 calendar years, with breakout response in 4 of them.

submissions
15
submitters
14
observed span
2010–2022
peak thread · 41 comments
222 pts
latest 20+ return · 2022-02-23
66 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

Be sure to also check "(How to Write a ((Better) Lisp) Interpreter (in Python))": http://norvig.com/lispy2.html

kroger·222-point thread·

There are lengthy discussions every time this is submitted[0] to HN - it's one of the items that makes me think we need some sort of "Hall of Fame" or similar. There's also the follow-up[1]: (How to Write a ((Better) Lisp) Interpreter (in Python)) (norvig.com) Unsurprisingly, that also gets a good discussion when submitted[2], but since that discussion is closed, and this discussion has started again, I thought I'd re-submit that one[3] (partly as an experiment). -------- [0]…

The article uses a simplified version of Scheme as a toy Lisp, for an exercise, which is an excellent choice, but a downside is that it could be misinterpreted as characterizing Scheme well. First, there's what I think is an important distinction of idiomatic programming in Scheme, for which the first example in the article gives the wrong idea, with a noble lie: that Java code implies an immediate return, but the Scheme code does not. Were that Scheme expression…

neilv·132-point thread·

I'm always impressed how the magic of interpreters and compilers can be explained so succinctly. Inspired by Jonesforth, I wrote a complete Lisp interpreter in a single ARM assembly file: https://github.com/marcpaq/arpilisp

marcpaq·130-point thread·

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
724

reference only — not used in Hall rules or ranking

Total comments
151

reference only — not used in Hall rules or ranking

Every submission