From bde494cb7361748a010aae9b1bdfa1e68fb42285 Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Wed, 5 Mar 2025 00:08:51 -0700 Subject: a good monads explanation has finally appeared, thank the heavens --- _posts/2020-07-18-monads-without-the-bullshit.md | 3 +++ 1 file changed, 3 insertions(+) (limited to '_posts/2020-07-18-monads-without-the-bullshit.md') diff --git a/_posts/2020-07-18-monads-without-the-bullshit.md b/_posts/2020-07-18-monads-without-the-bullshit.md index 59d39c3..0cef6cf 100644 --- a/_posts/2020-07-18-monads-without-the-bullshit.md +++ b/_posts/2020-07-18-monads-without-the-bullshit.md @@ -3,6 +3,9 @@ layout: default title: "Monads, Explained Without Bullshit" --- +*edit 2025-03-04*: this explanation is bad in the same way that most monad explanations are bad: it doesn’t address why the abstraction of “monad” is valuable. +the first explainer i’ve seen that actually explains why it’s worth understanding is [Demystifying monads in Rust through property-based testing](https://sunshowers.io/posts/monads-through-pbt/); go read that instead. + there's a CS theory term, "monad," that has a reputation among extremely online programmers as being a really difficult to understand concept that nobody knows how to actually explain. for a while, i thought that reputation was accurate; i tried like six times to understand what a monad is, and couldn't get anywhere. but then a friend sent me [Philip Wadler's 1992 paper "Monads for functional programming"](https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf) which turns out to be a really good explanation of what a monad is (in addition to a bunch of other stuff i don't care about). -- cgit v1.2.3