A monad in programming is a composable computation description. Monads are an important construct in functional programming languages like Haskell.

- Stackoverflow.com Wiki
4 articles, 0 books.

Perhaps the most important philosophical idea is that Haskell does not “enforce” purity. Rather, Haskell as a language simply does not include any notion of effects.

Monads have a bad reputation in the JavaScript community. Douglas Crockford even said that monads are cursed: Once you reach enlightenment and finally understand monads, you immediately lose the ability to explain them to others. Even amongst experienced functional programmers, monads are treated with respect. But, if you can understand Promises then you can understand monads.

It is said that there’s a curse with Monads.. When you finally understand it, you’ll lose the ability to explain it to others. This curse is made worse by the fact that after you understand it, you’ll begin to see it everywhere

I can’t think of another 5-letter word that strikes fear in the hearts of so many developers, coming from an object-oriended/imperative language to a functional one. The problem with most monad tutorials is they present monads as a solution to a problem which is not clearly defined.