深入理解 Monad:概念、实例与应用
1. Monad 概述
Monad 是一种统一的概念,它将书中多次出现的模式进行了整合。一个 Monad 是满足结合律和单位律的最小集合的单子组合子的实现。以下是一些关键信息:
- Monad 的作用 :允许我们为看似没有关联的不同数据类型一次性编写多个组合子。
- Monad 的最小组合子集合 :
- unit 和 flatMap
- unit 和 compose
- unit 、 map 和 join
- Monad 定律 :
- 结合律 : x.flatMap(f).flatMap(g) == x.flatMap(a => f(a).flatMap(g))
- 右单位律 : x.flatMap(unit) == x
- 左单位律 : unit(y).flatMap(f) == f(y)
所有的 Monad 都是函子,但并非所有函子都是 Monad。在许多数据类型中都存在 Monad,如 Option 、
超级会员免费看
订阅专栏 解锁全文
2987

被折叠的 条评论
为什么被折叠?



