10.1Monads

$latex begin{array}{|l|l|l|}

hline

Analogy & Compose & Identity

hline

Function & : : : : “.” & : : : : Id

hline

Monad & ” >> = ” (bind) & return :: “eta”

hline

end{array}$

Imperative (with side effects eg. state, I/O, exception ) to Pure function by hiding or embellishment in Pure function but return “embellished” result.

Monad = functor T + 2 natural transformations

$latex boxed {text {Monad} = {T , eta , mu} }&fg=aa0000&s=3$

$latex eta :: Id dotto T$

$latex mu :: T^{2} dotto T$

$latex text {Natural Transformation : } dotto $

http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html#functors