News for hackers. Stuff that matters.
Re:Frege: A Haskell-Like Language for the JVM by iopq on Friday August 14, 2015 @12:10AM (#10058583)
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.

Re:Frege: A Haskell-Like Language for the JVM by mafribe on Friday August 14, 2015 @06:51AM (#10059460)
I 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.