前言
最后更新于:2022-04-01 01:24:48
> 来源:http://www.ruanyifeng.com/blog/2015/07/monad.html
> 作者:阮一峰
函数式编程有一个重要概念,叫做[Monad](https://en.wikipedia.org/wiki/Monad_%28functional_programming%29)。

网上有很多解释([这里](http://stackoverflow.com/questions/2704652/monad-in-plain-english-for-the-oop-programmer-with-no-fp-background)和[这里](http://stackoverflow.com/questions/44965/what-is-a-monad)),但都很抽象,不容易看懂。我尝试了好多次,还是不明白Monad到底是什么。

昨天,我读到了[Aditya Bhargava](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)的文章,他画了很多图。我想了半天,终于恍然大悟。下面,我就用这些图来解释Monad。