HN Hall of Fame Weekly email

Railway Oriented Programming

fsharpforfunandprofit.com Books & learning Courses & lectures Software engineering Class of 2023-08 Hall of Fame
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
10
submitters
9
observed span
2016–2026
peak thread · 166 comments
332 pts
latest 20+ return · 2023-08-18
332 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

Elixir has a nice take on this with the `with` keyword/macro with {:ok, file_handle} <- File.open(filename), {:ok, contents} <- IO.read(file_handle), {:ok, parsed} <- MyModule.parse(contents) do {:ok, parsed} end what this does is run the functions in order top to bottom, and if the return value from each function doesn't match with what is on the left, it returns early with the thing that didn't match, otherwise it continues. This means you don't need to write each function to take a…

el_oni·332-point thread·

What I found interesting is that if you have a pipe/filter architectural style, your happy path stays completely free of error handling, because when a filter doesn't have a good result, it just doesn't pass any data to the next filter in line. Done! You can then centralize the error handling by having a "stderr"-like output on your filters. When you have a call/return architectural style, you need to return something, and thread the result along, so you need to…

There are startling similarities with river-oriented programming: http://xeny.net/HOtMEfSPRIbNG

spindle·3-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
610

reference only — not used in Hall rules or ranking

Total comments
327

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2016-08-18Railway Orientated Programmingadgasf20
2018-05-05Railway Oriented Programmingjxub10
2018-06-18Railway-Oriented Programming (2015)First breakouttosh260160
2021-11-16Railway Oriented Programmingcorentin8820
2022-05-17Railway Oriented Programminglobo_tuerto31
2023-01-05Railway Oriented Programmingthunderbong20
2023-05-22Railway Oriented Programmingvyrotek40
2023-08-18Railway Oriented ProgrammingHall induction · Best thread · Latest 20+ point returnjchook332166
2025-11-19Railway Oriented Programmingsandruso30
2026-02-06Railway Oriented Programmingtosh10