The order of operations here is "right associative". So A -> B -> C -> D is equivalent to any of the following A -> (B -> C -> D) A -> (B -> (C -> D)) A -> B -> (C -> D) They're equivalent through currying. But you can…
Whoever told you it has to do with IO and functional purity vastly oversimplified things. That is just one use case. Monads take care of a very common computation pattern: wrapping and unwrapping data from a container…
The order of operations here is "right associative". So A -> B -> C -> D is equivalent to any of the following A -> (B -> C -> D) A -> (B -> (C -> D)) A -> B -> (C -> D) They're equivalent through currying. But you can…
Whoever told you it has to do with IO and functional purity vastly oversimplified things. That is just one use case. Monads take care of a very common computation pattern: wrapping and unwrapping data from a container…