HN Hall of Fame Weekly email

Homoiconicity isn’t the point (2012)

calculist.org Essays & writing Essays & articles Computer science Candidate
Screenshot of calculist.org captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 6 calendar years, with breakout response in 2 of them.

submissions
6
submitters
6
observed span
2012–2021
peak thread · 76 comments
80 pts
latest 20+ return · 2021-05-03
80 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

Processing parentheses is still parsing. It's kindergarten-level parsing, but it's still parsing. I've written thousands of lines of scheme code preprocessed to eliminate most parenthesis. I'm convinced Lisp self-asphyxiated by fighting a last stand on parentheses, which is so far from the point of Lisp. With modern editor "language server" support and syntax coloring, languages can shape-shift to any appearance they want, separate from meaning. While I love the poetic look of parenthesis-spare Lisp, Bill Joy got…

Fwiw, I think what's important about homoiconicity isn't so much that the language uses "boring" data structures for its (intermediate?) syntax tree, but that the both the syntax itself and the representation of the syntax as an AST is simple and obvious. Haskell has TemplateHaskell, which can be used for macro-like things, but it's substantially less ergonomic, not because Haskell isn't "homoiconic", but because the grammer is actually really complex and non-obvious. There's tons of little things that you don't…

zenhack·79-point thread·

In my opinion, this article puts too much emphasis on reading, and too little emphasis on actually reasoning about programs in homoiconic languages like Prolog and Lisp, and due to this imbalance the conclusion is not sufficiently justified. It is true: Being able to "read without parsing" is definitely nice. But that is only a subset of those advantages that a homoiconic language gives you. An at least equally important advantage is due to the fact that programs in homoiconic…

zmonx·75-point thread·

Here's a duplication of the comment I made on the site. I speak as if I'm speaking directly to the author. --- > it’s possible to read it without parsing. Yes, it's possible to perform lexical analysis without parsing too. > the front end of every interpreter and compiler looks pretty much the same: [diagram] You forgot the step where lexical analysis occurs. This is akin to what Lisp's READ does. Except the output isn't a stream of tokens, it's…

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
2

100+ points or 50+ comments

Total points
246

reference only — not used in Hall rules or ranking

Total comments
180

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2012-04-17Homoiconicity isn't the pointswannodette92
2013-01-28Homoiconicity isn't the point [2012]kibwen20
2014-02-16Homoiconicity isn't the pointluu11
2018-02-15Homoiconicity isn’t the point (2012)First breakoutjxub7576
2019-12-19Homoiconicity isn’t the point (2012)pcr9103037952
2021-05-03Homoiconicity isn’t the point (2012)Best thread · Latest 20+ point returntosh8049