4 ms·
This reminds me of an old joke in the Haskell community, where people who struggled to understand Monads would finally get it after a while, and would assume th
by sebzim4500 4y ago
This reminds me of an old joke in the Haskell community, where people who struggled to understand Monads would finally get it after a while, and would assume that whatever the last sentence they heard was the only necessary one for the explanation.
- dlandau 4y agoThat was my experience studying statistical physics in Uni. For "some reason" the fourth book I read was the "only one" written in a way that made sense. No relation to the order I read them in, just written better.
- sebzim4500 4y agoYeah statistical physics is another example where suddenly things just kind of 'click'.
- jn5 4y agoIf you lose something, you always find it in the last place you search... because why would you keep searching after you found it
- dec0dedab0de 4y agoIt took me an embarrassingly long time to realize that it was a joke when people said "It's always the last place you look." Like well into my teens. But ever since I figured it out, I always look at least one more place after finding something.
- TedDoesntTalk 4y agoDo you find it again?
- quercusa 4y agoI think that there are many people who don't recognize it as a joke and pass it on as great wisdom. I was also pretty old when I realized the tautology.
- wrycoder 4y agoIf you're disorganized, you'll search in random places until you find it. Joke applies. But if you are organized, you'll start with the most likely place and progress to increasingly less likely places. When you find it, there's no surprise, and no one gets much of a chuckle over your efforts. If you don't understand the problem space, then saying "That's the last place I would have looked!" is an expression of exasperation about your lack of knowledge.
- layer8 4y agoA tautology can still provide an insight by recognizing that two things are really just the same. In that sense I didn’t perceive it as a joke, even though there’s of course some humor attached to it.
- selimthegrim 4y agoLast is semantically ambiguous here, you’re not wrong, could also mean “last place (most unobvious) you would think to look” as well
- narag 4y agoBecause it it were obvious, you had already found it.
- ithinkso 4y agoWell, at least you were a teen when you realized it. In my case it was 1min ago in this very HN thread... I always assumed it was kind of a 'life's a bitch' aphorism
- bobowzki 4y agoHaha! That's a great joke! It can definitely be applied to a lot of situations.
- wholinator2 4y agoWhat do you mean? A Monad is just a Monoid in the category of Endofunctors.
- mti 4y agoIn that spirit, my pet "a monad is a monoid in the category of endofunctors, duh"-style one-line explanation of the Fourier transform is that it's just the decomposition in the common (Hilbert) eigenbasis for all translation operators. It makes it surprisingly clear (to some) why it is a both natural and important construction.
- franknstein 4y agoSame, but it's only natural after studying inner product vector spaces. Also being comfortable with some calculus is needed to be able to overlook the technicalities of this construction and focus on the actual idea.
- wkjagt 4y agoI’ve understood monads multiple times in my life, but each time that understanding was so fragile that it crumbled when I tried explaining to someone else. I’m currently in a phase where I don’t understand them.
- johnday 4y agoA monad is a computational context, where the nature of that context is determined by two things: the shape of the data structure corresponding to it, and the definition of (>>=) which handles sequencing of two computations in that context. Anything more specific than that should be handled case-by-case until you build an intuition for how any given monad will behave.
- TedDoesntTalk 4y agoIs computational context another way of saying scope?
- trenchgun 4y agoNot exactly. Computational context in this sense is like, is this computation of the type that can either fail or succeed? (Maybe monad). Or is this computation of the type that can produce multiple values of the same type? (List monad). Or maybe this computation can produce value of one type or another (Either monad). Or a computation that can interacti with inputs and outputs (IO monad). So these are computations in differend kinds of computational "worlds" in a sense, with different rules on how such a computation in this context composes.
- hackinthebochs 4y agoLet me rephrase it in words that I have more intuitive grasp of and see if the translation holds. A monad is a way to pick out the specific constraints of interest and define a class of computations that satisfy those constraints, and how computations within this class compose. Are the constraints limited to return values or can there be other kinds of constraints?
- hprotagonist 4y agohttps://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/ https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti... well, it’s so simple: they’re just burritos!
- Rayhem 4y agoThis is very much called out in the Monad Burrito Tutorial Fallacy[1]. [1]: https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/ https://byorgey.wordpress.com/2009/01/12/abstraction-intuiti...
- moffkalast 4y agoMay be best to take a page from quantum mechanics and say "if you think you understand monads, you don't understand monads".
- blippage 4y agoOne of the best explanations of monads I saw was actually using Python.
- monsieurbanana 4y agoThat sounds interesting. I might search for that python explanation, have an eureka moment, then forget most of it in 24 hours. It's happened a couple of times with monads.
- deleted 4y ago[deleted]
- belter 4y agoI always though the joke was, that anybody who finally understands what a Monad is, at that precise moment, automatically loses the ability to explain it to others...
- spfzero 4y agoThis for sure. "I didn't understand the first 5 explanations but I did understand the sixth one, so that's the best one." Needs to be said that without the first 5, the sixth probably wouldn't have caught.