函数式编程中的 Applicative Functor、Monoid 和 Monad 模式解析
1. Applicative Functor
Applicative Functor 可以纯函数式地实现为一种类型,它具有函数成员,能对如列表这样的上下文应用操作并返回合适结果。在后续示例中,我们选择将对象包含在 Applicative Functor 内,并对该列表应用定义 Applicative Functor 的方法。
- 具体实现示例
- 示例基于之前的混合 Functor 示例构建,创建了一个能容纳对象列表并对这些对象应用函数列表的容器。还使用了一个伴生对象来实现
pure操作,该操作可将对象放入上下文中,即创建容器实例并包装提供的对象。 - 定义了
ApplicativeFunctor特质,添加了apply操作,它接受一组与 Functor 中对象处于相同上下文的函数,并返回在上下文中应用这些函数的结果。 - 提供了抽象类
ListApplicativeFunctor,使用List作为对象和函数的上下文或容器,其具体列表类型由子类定义,且该类可标记为不可变,因为创建后不会修改所持有对象列表。 -
fmap操作利用底层List实现的内置map函数,apply
- 示例基于之前的混合 Functor 示例构建,创建了一个能容纳对象列表并对这些对象应用函数列表的容器。还使用了一个伴生对象来实现
超级会员免费看
订阅专栏 解锁全文
6

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



