一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已.这句话涉及到了几个概念:单子(Monad),自函子(Endo-Functor),幺半群(Monoid),范畴(category). 范畴 范畴的定义 范畴由三部分组成: 一组对象,是需要操作的数据的组合. 一组态射(morphisms).一组态射,是数据对象上的映射关系,比如f:A -> B,每个态射会绑定两个对象,假如f是从源对象A到目标对象B的态射,记作:f:A -> B. 态射组合.就是态射能够几个组合在一起形成一个新的态…