HN Hall of Fame Weekly email

Railway-oriented programming

fsharpforfunandprofit.com Books & learning Tutorials & guides Software engineering Candidate
Screenshot of fsharpforfunandprofit.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
7
submitters
7
observed span
2013–2020
peak thread · 57 comments
155 pts
latest 20+ return · 2016-06-22
148 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 elided punchline is that this entire essay is "just the `Either` monad". If you can forgive the snark there, the point to take home is that this entire pattern of programming can be nicely summarized through some very high-order topics like Monads. That's one "why" for "why should I learn what 'monad' means". A very similar essay could be written for non-deterministic programming ("it's 'just' the List or Logic monad"), for backtracking parser combinators ("they're 'just' the State +…

tel·155-point thread·

I really think that's an useful tutorial for all languages with exceptions ( that's an exceptional event ) and normal control flow ( application error, validation, retry ). Like that code become really simple, but more expressive than returning an int error code each function. A function can return an error with messages or message+data or message+retrycount etc. With F# (can be done in other languages obv) it's really easy to have different success/failure return types ( amazing type inference…

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
314

reference only — not used in Hall rules or ranking

Total comments
109

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2013-06-03Railway oriented programming ohjeez20
2014-06-13Railway-oriented programmingFirst breakout · Best threadbunderbunder15552
2016-06-22Railway oriented programmingLatest 20+ point returndouche14857
2017-10-26Railway Oriented Programming (2013)rising-sky40
2018-03-13Railway-oriented programming (2013)porsager10
2019-03-08Railway Oriented Programming (2013)lrsjng20
2020-10-19Railway Oriented Programminganuragsoni20