Hacker News new | past | comments | ask | show | jobs | submit login

Because grokking monads at some deep philosophical level is like "compiling the kernel" or "editing XF86Config": some mythically arcane thing you have to do that "only PhDs can understand" and hence is a good enough reason to avoid the thing it's a part of.

Monads are a design pattern, albeit not one in the Gang of Four tradition, and it's concrete enough to be expressible in Haskell's type system. Learn the operations and laws, study some code involving List or IO to see how it's used, and get to work. No big deal.




"Learning is amazing, you can literally change the structure of your brain to better adapt to the universe!"

"Nah there's nothing to learning, you don't know something, badabing, you know something, big deal."


They aren't a design pattern, they are an abstract algebraic concept with two trivial operations (pure/flatmap) and three trivial laws (right identity, left identity, associativity).


Yes, Monads are about as difficult as compiling a kernel (run `make`).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: