3 ms·
Eh, I think you can skip most of the chapters if you've learned functional programming before. The important things to learn are typeclasses and higher kinded t
by aninhumer 10y ago
Eh, I think you can skip most of the chapters if you've learned functional programming before. The important things to learn are typeclasses and higher kinded types.
I think half of people failing to understand monads are people failing to understand typeclasses or HKT while trying to learn about monads. Once you get those, all you need is the Monad typeclass definition and a huge pile of motivating examples.
- tnone 10y agoYet people learn best from examples, so I don't get why every monad explanation is in reverse like that. The Z is Y. The Y is an X that does W. ...omitted... Here's C, B and A. Now you understand! First comment in this thread is exactly like that. Definitions, not explanations. And then after telling you how monads are different than map for things that are _not_ lists, a bunch of follow up comments talk about... Lists. Pedagogy does not work like that. What is it about haskell that ruins people's ability to explain things?
- aninhumer 10y ago>The Z is Y. The Y is an X that does W. I'm not saying you shouldn't use examples to learn, I'm saying you should probably learn X and Y (type classes and HKT) before you try to learn Z (monads). Use as many examples as you like to learn them, but if you don't understand type classes and HKT, you will probably struggle to understand monads.
- jnordwick 10y ago> What is it about haskell that ruins people's ability to explain things? Haskell is the most maddening language to learn purely because of the community around it.