HN Hall of Fame Weekly email

Why Concatenative Programming Matters

evincarofautumn.blogspot.com Books & learning Tutorials & guides Software engineering Candidate
Screenshot of evincarofautumn.blogspot.com captured 2026-07-20
Page preview · captured 2026-07-20

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

submissions
8
submitters
6
observed span
2012–2025
peak thread · 55 comments
219 pts
latest 20+ return · 2025-07-21
76 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

The problem with stack languages for me has always been in typing. I find it difficult to track the exact stack effects of each word (function), particularly if these functions are pushing, popping and applying functions that themselves modify the stack. Even when dealing with something as simple as optimized x87 code, I would annotate all the FXCH etc. to keep track of the bits of the arithmetic expression on the stack, as I tried to keep multiple operations in…

barrkel·219-point thread·

The ergonomic drawback of concatenative languages is that when you see `a b c d e`, you don’t know whether it means `e(d(c(b(a))))`, or `e(b(a), d(c))`, or `e(a, b, c, d)`, or `b(a), e(c, d)`, etc. The answer depends on the types of a, b, c, d, and e. The syntax `a b c d e` is a linearization of the call tree, whose node structure can be recovered from the types of the symbols (assuming the language is statically…

layer8·76-point thread·

Long, long ago I wrote a Forth of OS/2 out of spite. I've had a long standing interest in the language. It's been my opinion for a while that Forth is a less powerful language than LISP, even though they initially appear to just be the opposites of each other in terms of argument handling. The thing that makes Forth and other similar languages write-only is that you can easily lose track of the variables when you are forced to…

> A concatenative programming language is a point-free programming language in which all expressions denote functions and the juxtaposition of expressions denotes function composition. The combination of a compositional semantics with a syntax that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation. This is the reason i hate so many (not all) wikipedia articles - the introduction is an exercise of code golf in human language. This is devoid of the key quality most…

tomxor·63-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
2

100+ points or 50+ comments

Total points
450

reference only — not used in Hall rules or ranking

Total comments
169

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2012-02-12Why Concatenative Programming MattersFirst breakout · Best threadevincarofautumn21940
2013-09-03Why Concatenative Programming Mattersluu60
2016-09-14Why Concatenative Programming Mattersingve30
2019-04-15Why Concatenative Programming Matters (2012)azhenley6333
2022-07-17Why concatenative programming matters (2012)codewithcheese7655
2024-08-06Why Concatenative Programming Matters (2012)Tomte30
2025-05-19Why Concatenative Programming Matters (2012)Tomte40
2025-07-21Why concatenative programming matters (2012)Latest 20+ point returnazhenley7641