3 ms·
Monads are simple ways to solve simple problems. Consider the Maybe monad - it encodes optional values in a simple way. The approach before this is to have som
by iopq 11y ago
Monads are simple ways to solve simple problems.
Consider the Maybe monad - it encodes optional values in a simple way. The approach before this is to have something called "null" that would wreck your programs. Maybe monad is one of the best improvements to day-to-day programming tasks that I've personally experienced in my lifetime.
- mafribe 11y agoI agree, the concept of monads is very simple, actually trivial. It's just a generalised form of function composition. But thinking monadically and abstracting monadically is extremely different from what programmers normally learn, for a start because important monads like state and exceptions are built-in features of most programming languages. Seeing that these things have a common pattern, and seeing that it may be worthwhile to abstract this common pattern takes a lot of time. The mismatch between the utter simplicity of the concept of monads, and the complicated explanations one comes across doesn't help.