Top all-time · #7366
Noel Welsh
Personal blog · noelwelsh.com/posts · on HN as noelwelshprogramming
Noel Welsh's personal blog at noelwelsh.com covers programming. Since 2012, 11 different Hacker News readers have linked it 53 times, most often “Understanding Virtual Machine Dispatch Through Duality (2023)”. It is still writing: the last post was on 2026-03-04, and you can follow it by feed.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN readers link Noel Welsh's posts on functional and object-oriented programming, design patterns and language features. His article on uniting FP and OO is cited as reading on pattern matching and the visitor pattern.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Understanding Virtual Machine Dispatch Through Duality (2023)3 people · 5 mentions · first linked 2024-09-01
- Parametricity, or Comptime Is Bonkers3 people · 3 mentions · first linked 2026-03-11
- What Functional Programming Is, What It Isn't, and Why It Matters (2020)2 people · 3 mentions · first linked 2025-03-22
- Why I don't like Akka Actors2 people · 3 mentions · first linked 2013-03-05
What Hacker News says?
Thanks! I appreciate that. A few things: - https://scalawithcats.com/ is a book I'm writing. There is an associated newsletter to which I post blog articles and the like. - https://noelwelsh.com/ is my personal site, which hosts my blog.
Comment linking /
on “Zig's comptime is bonkers good”Submitted AngularJS vs. React as a story · 9 points
HN discussionYou gotta ask the question: why does FP care about eliminating side effects? There are two possible answers: 1. It's just something weird that FP people like to do; or 2. It's in service of a larger goal, the ability to reason about programs. If you take the reasonable answer---number 2---then the conclusion is that effects are not a problem so long as you can still reason about programs containing them. Linear / af…
Comment linking /posts/what-and-why-fp/
on “Flix – A powerful effect-oriented programming language”Submitted Sex, Lies, and Server-side Javascript as a story · 9 points
HN discussionDoom is great. Here are my notes on Doom workflow: https://noelwelsh.com/posts/2019-01-10-doom-emacs.html It might be a bit out of date now but at least 90% still holds.
Comment linking /posts/2019-01-10-doom-emacs.html
on “My Emacs Productivity Tricks/Hacks”Submitted Why I Don't Like Akka Actors as a story · 8 points
HN discussionLet me add to the recommendations to try Doom. I've written up some notes on workflows in Doom: https://noelwelsh.com/posts/2019-01-10-doom-emacs.html I didn't find anything similar when I got started using it, so it might be useful to you.
Comment linking /posts/2019-01-10-doom-emacs.html
on “Ask HN: Resources to grok Emacs and use it well?”Submitted Gatsby Is a Virus as a story · 5 points
HN discussionI think you're asking if SSA is still a functional language in the presence of mutation of memory. Both Scheme and ML (of Standard ML and OCaml fame, not machine learning) allow mutation, so mutation doesn't seem to disqualify a language from being functional. This naturally leads to the question "what is a functional language?" I've written my thoughts on what FP is at [1]. I argue that FP is about local reasoning…
Comment linking /posts/what-and-why-fp/
on “Why SSA?”Submitted Streaming Algorithms Course (Pre-registration) as a story · 3 points
HN discussionDoom Emacs is the same idea but a lot snappier IME. https://github.com/hlissner/doom-emacs My notes on using Doom: https://noelwelsh.com/posts/2019-01-10-doom-emacs.html
Comment linking /posts/2019-01-10-doom-emacs.html
on “Vim 101: How to Start Using the Text Editor for Developers”Submitted Why I don't like Akka Actors as a story · 3 points
HN discussionI prefer React to Angular -- I find it much simpler to work with. I wrote up some thoughts here: http://noelwelsh.com/programming/2014/08/17/angularjs-vs-rea...
Comment linking /programming/2014/08/17/angularjs-vs-react/
on “AngularJS 1.3.0”Submitted Parametricity, or Comptime Is Bonkers as a story · 2 points
HN discussionPlenty of people don't like this aspect of Akka. Most of them are using scalaz-stream instead. See http://noelwelsh.com/programming/2013/03/04/why-i-dont-like-... and http://www.chrisstucchio.com/blog/2013/actors_vs_futures.htm...
Comment linking /programming/2013/03/04/why-i-dont-like-akka-actors/
on “Scala 2.11.0 Release Notes”Submitted Why I Don't Like Akka Actors as a story · 2 points
HN discussionDid you read the thread? The parents were using terms from abstract algebra, so I replied using the same language. In another context I would have avoided those terms and perhaps used an explanation like this: http://noelwelsh.com/programming/2013/12/20/crdts-for-fun-an...
Comment linking /programming/2013/12/20/crdts-for-fun-and-eventual-profit/
on “Facebook Announces Apollo, a New NoSQL Database for On-line Low Latency Storage”Submitted Less Wat in Javascript's Future, Please as a story · 2 points
HN discussionMy comparison is here: http://noelwelsh.com/programming/2014/08/17/angularjs-vs-rea... It isn't a 100% fit for what you're looking for -- there is no case study -- but it might be useful to you.
Comment linking /programming/2014/08/17/angularjs-vs-react/
on “Avoiding Event Chains in Single Page Applications”Submitted CUFP: One Great Reason to Attend as a story · 2 points
HN discussionUnfortunately, most discussion of direct threaded interpreters confuses the implementation techniques (e.g. computed gotos) with the concepts (tail calls, or duality between calls and returns and data and codata, depending on your point of view). What is presented here is conceptually a direct threaded interpreter. It's just implemented in a way that is more amenable to optimization by the compiler technology in use…
Comment linking /posts/understanding-vm-dispatch/
on “A tail calling interpreter for Python (already landed in CPython)”Submitted Parametricity, or Comptime Is Bonkers as a story · 1 points
HN discussionApple use Scala, not Java, for that sort of thing. At least that was the case last time I interacted with them. Here are some of the suggested starting points for Scala: https://docs.scala-lang.org/ Here are the Scala books I've written: https://noelwelsh.com/landing/books/ Here's the coding group I run: https://www.scalabridgelondon.org/ ScalaBridge's online events have attendees from across Europe.
Comment linking /landing/books/
on “Java 23: The New Features Are Officially Announced”Submitted Parametricity, or Comptime Is Bonkers as a story · 1 points
HN discussionI hope no-one minds me touting a free course I'm offering on bandit algorithms: http://noelwelsh.com/data/2013/08/05/why-you-should-know-abo... I was literally working on the post when Patrick's email arrived. It's more focused on the algorithms and will, I think, be a good compliment to what Patrick is offering.
Comment linking /data/2013/08/05/why-you-should-know-about-bandit-algorithms/
on “Why You Don't A/B Test, and How You Can Start This August”Submitted A Quick Introduction to OxCaml as a story · 1 points
HN discussionAnyone who is interested in pattern matching and the visitor pattern (and the benefits of various encodings of state and behavior) who hasn't seen them should check out: * Li Haoyi's Zero-Overhead Tree Processing with the Visitor Pattern ( https://www.lihaoyi.com/post/ZeroOverheadTreeProcessingwitht... ) * Noel Welsh's Uniting Church and State: FP and OO Together ( https://noelwelsh.com/posts/uniting-church-and-stat…
Comment linking /posts/uniting-church-and-state/
on “Design Patterns Are Temporary, Language Features Are Forever”Submitted Designing Custom UUIDs as a story · 1 points
HN discussionIt's an idempotent commutative monoid, so you can encode that quite straightforwardly as a type class. Twitter's Algebird[1] has a wide range of monoid implementations (in Scala). It's a surprisingly useful type class for something so simple. I have a talk[2] and some code [3] that goes into more detail on CRDTs and the connection to monoids. [1:] https://github.com/twitter/algebird [2:] http://noelwelsh.com/program…
Comment linking /programming/2013/12/20/crdts-for-fun-and-eventual-profit/
on “Roshi: a CRDT system for timestamped events”Submitted What Functional Programming Is, What It Isn't, and Why It Matters (2020) as a story · 1 points
HN discussion