Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #781

B

Brent Yorgey

Personal blog · byorgey.wordpress.comprogrammingmath

Brent Yorgey writes blog :: Brent -> [String], a personal blog at byorgey.wordpress.com about programming and math. Since 2008, 84 different Hacker News readers have linked it 103 times, most often “Abstraction, intuition, and the “monad tutorial fallacy” (2009)”. The last post was in 2024, but the archive is still widely read.

Visit the blog
103mentions?
9recommend?
84HN people?
2008–2026first – last linked?
Links on Hacker News per year · peak 14 in 2021

Sometimes recommended · 9 of 40 sampled comments recommend it?

Why HN links it

Readers mostly link Yorgey's 2009 post on the monad tutorial fallacy, cited against the idea that metaphors can replace working through examples. Some also point to his Haskell teaching notes and math posts.

Recommended for · 9 comments
a great pedagogy essay, a 'very good' monad-tutorial article, a 'fun little example', a 'best guide' to Catsters

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Abstraction, intuition, and the “monad tutorial fallacy” (2009)
    34 people · 40 mentions · first linked 2015-09-10
  2. Abstraction, intuition, and the “monad tutorial fallacy”
    9 people · 9 mentions · first linked 2009-01-13
  3. Conversations with a six-year-old on functional programming
    5 people · 5 mentions · first linked 2018-05-07
  4. /2012/01/05/parsing-context-sensitive-languages-with-applicative/
    3 people · 4 mentions · first linked 2016-09-29
  5. What would Dijkstra do? Proving the associativity of min
    3 people · 4 mentions · first linked 2020-02-23
  6. Better Binary Search in Haskell
    3 people · 3 mentions · first linked 2023-01-01
  7. Worstsort
    3 people · 3 mentions · first linked 2019-03-15
  8. /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy
    2 people · 3 mentions · first linked 2015-08-01
  9. /2012/11/05/foldr-is-made-of-monoids/
    2 people · 2 mentions · first linked 2012-11-06
  10. /
    2 people · 2 mentions · first linked 2010-07-13

What Hacker News says?

  1. zwass · 2018-05-07Recommends
    Brent is one of the greatest teachers I've ever experienced. I used to take classes from him (and TA some others he taught) and was consistently blown away by his enthusiasm and capacity for sharing concepts. He has a great essay on pedagogy as well ( https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti... ) If you're interested in learning some of the beautiful foundations of functional programming, I highl…

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Conversations with a six-year-old on functional programming”
  2. Submitted Conversations with a six-year-old on functional programming as a story · 2074 points

    HN discussion
  3. I think it's partly that it is easy, especially for technical people, to get hung up on details. And there is a good reason for this. It is often the case, especially with very technical topics, that the use of analogies can actually hinder understanding, because of the tendency to take the analogy too far[1]. Usually you just have to communicate a bit more on what the scope of the analogy is, and then it will make…

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Why I Hate Frameworks (2005)”
  4. Submitted Conversations with a six-year-old on functional programming (2018) as a story · 580 points

    HN discussion
  5. bspammer · 2022-11-17Recommends
    You cannot really understand monads just by reading about them. Or I couldn’t, at least. This is a very good article about the problems with monad tutorials: https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti... > “Of course!” Joe thinks. “It’s all so simple now. The key to understanding monads is that they are Like Burritos. If only I had thought of this before!” The problem, of course, is that if Joe HAD…

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy

    on “What’s so great about functional programming anyway?”
  6. Submitted Types versus sets in math and programming languages as a story · 107 points

    HN discussion
  7. The notion that terms like "monad" are nothing but shibboleths is very common and completely misguided. Instead, these terms are used for a couple of very good reasons. First, the simple reason that they are accurate terms for which there are no good replacements. The English language does not have the necessary scope to cover the relevant abstractions. This leaves you with two options: use the accurate term from ma…

    Comment linking /2012/11/05/foldr-is-made-of-monoids/

    on “What it's like to use Haskell”
  8. Submitted How to print things as a story · 103 points

    HN discussion
  9. I agree wholeheartedly that Functors and Monads should be thought of as interfaces. And that much of what complicates them is separating the implementation details from the interface details. However, I can't help but feel that the author and I have some common flaws. The first being verbosity. I often notice the same thing in my own writing: I will see a well-written paragraph and think "this is good stuff" and the…

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Functors and Monads for People Who Have Read Too Many “Tutorials””
  10. Submitted Abstraction, intuition, and the “monad tutorial fallacy” (2009) as a story · 100 points

    HN discussion
  11. tel · 2014-05-08Recommends
    Not at all. Linear types ensure that types are "used" exactly once. Mutability would correspond to type creation while reading would be a use. For a fun little example of thinking in linear types, take a look at Brent Yorgey's blog post: http://byorgey.wordpress.com/2011/02/24/enumerating-linear-i... (Edit: The Yorgey post listed links to the whole cycle, but it begins here: http://byorgey.wordpress.com/2011/01/26/c…

    Comment linking /2011/01/26/counting-linear-lambda-terms/

    on “The logic of Buddhist philosophy”
  12. Submitted What would Dijkstra do? Proving the associativity of min as a story · 89 points

    HN discussion
  13. I'm not saying you're wrong, but I wonder if this "missing piece of insight" is at least sometimes an illusion, as in the "monads are like burritos" fallacy [0]. Of course this does not apply if there really is just a missing fact that too many explanations glossed over. [0] https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti...

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “A Student's Guide to Writing with ChatGPT”
  14. Submitted Worstsort as a story · 73 points

    HN discussion
  15. The question comes from Haskell, yes: https://byorgey.wordpress.com/2012/01/05/parsing-context-sen... You used monadic parser, monadic parsers are known to be able to parse context-sensitive grammars. But, they hide the fact that they are combiinators, implemented with closures beneath them. For example, that "count n $ char 'b'" can be as complex as parsing a set of statements containing expressions with an operato…

    Comment linking /2012/01/05/parsing-context-sensitive-languages-with-applicative/

    on “Rust for tokenising and parsing”
  16. Submitted Abstraction, intuition, and the “monad tutorial fallacy” as a story · 47 points

    HN discussion
  17. You can still do a lot with applicatives, like parsing context-free languages... and even parsing context-sensitive languages. https://byorgey.wordpress.com/2012/01/05/parsing-context-sen... But yeah. ApplicativeDo might be useful. You would be able to see the static applicative structure as far as the next monadic bind, which lets you do interesting types of optimization, e.g. Haxl. https://ghc.haskell.org/trac/ghc…

    Comment linking /2012/01/05/parsing-context-sensitive-languages-with-applicative/

    on “Modern Functional Programming: The Onion Architecture”
  18. Submitted New UPenn Haskell Course Materials Released on GitHub as a story · 13 points

    HN discussion
  19. the main difference is that you can't have pages 4 and 5 side by side with the proposed method, since they are back to back on the same sheet. edit: thih9 linked to the hn post on byorgey original blog post in 2016 and the highest comment by audeyisaacs suggests the same thing you did and got a reply from byorgey who liked the idea and added it to their blog, and outlined the pro's and con's of your suggestion. http…

    Comment linking /how-to-print-things/

    on “Möbius Printing Helper”
  20. Submitted Counting Inversions via Rank Queries as a story · 11 points

    HN discussion
  21. So, bloom filters are the equivalent of Monads? https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti...

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Bloom Filters for the Perplexed”
  22. Submitted Conversations with a six-year-old on functional programming (2018) as a story · 10 points

    HN discussion
  23. See the “monad tutorial fallacy”: https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti...

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Haskell Fan Site”
  24. Submitted The "Monad Tutorial Fallacy" (2009) as a story · 7 points

    HN discussion
  25. The "Function Machine Game"? https://byorgey.wordpress.com/2018/05/06/conversations-with-... “Hey, I have a good idea for a game,” I said. “It’s called the function machine game. I will think of a function machine. You tell me things to put into the function machine, and I will tell you what comes out. Then you have to guess what the function machine does.”

    Comment linking /2018/05/06/conversations-with-a-six-year-old-on-functional-programming/

    on “Stop Teaching Code, Solicit Predictions Instead”
  26. Submitted Abstraction, intuition, and the “monad tutorial fallacy” as a story · 5 points

    HN discussion
  27. Zababa · 2021-10-18Recommends
    > Calling for lack of metaphor is interesting. In many ways, our industry is nothing but metaphors, so it is surprising for me to see them called down. I don't think that's true. There are lots of metaphor because people love using metaphors, but it's not inherent to our industry. Abstraction is, but abstraction and metaphors are different. Metaphors seem to mostly come from blog-post type content, where people want…

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “Tests aren’t enough: Case study after adding type hints to urllib3”
  28. Submitted Competitive programming in Haskell: monoidal accumulation as a story · 4 points

    HN discussion
  29. In theoretical CS, I've seen Steps 4–8 called "the monad tutorial fallacy." https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti...

    Comment linking /2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/

    on “An Infinitely Large Napkin [pdf] (2019)”
  30. Submitted What would Dijkstra do? Proving the associativity of min as a story · 4 points

    HN discussion

Search all of HN for byorgey.wordpress.com

Linked by the same people?