Brian Beckman: Don’t fear the Monad

Keywords: Function, Monoid,  Monad

Monoid: A Set with an operation of composition which has: 1) Identity; 2) Associativity.
(or equivalent: Monoid is a Group minus Inverse)

Example:
f: a –> a,
g: a–>a,
h: a–> a

fo(goh) = (fog)oh

Monad:
f: a –> Ma,
g: a–>Ma,
h: a–> Ma

Ma : certain transformation to a, eg. sin(a) + cos (a)….
Same to Associative and Identity.

Note: You don’t have to know Category to apply Monad to programming.

图形具体化说明Monad :
http://www.ruanyifeng.com/blog/2015/07/monad.html

Monad In Scheme/Lisp:
http://www.ccs.neu.edu/home/dherman/research/tutorials/monads-for-schemers.txt

Functor, Applicative & Monad in Clojure:

http://fluokitten.uncomplicate.org/articles/functors_applicatives_monads_in_pictures.html