pdf文档 Applicative: The Forgotten Functional Pattern

11.33 MB 141 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档介绍了Applicative这一功能模式的历史、机制及其在C++中的应用。Applicative介于Functor和Monad之间,195L提到在GHC 7.10中被引入,并可以并行评估参数。其核心是apply函数,用于在容器中应用函数,支持多参数函数的应用。文档还提到了std::optional和std::expected等实例以及其在解析和连续性中的应用。
AI总结
《Applicative: The Forgotten Functional Pattern》摘要 本文概述了函数式编程中的Applicative模式,强调其重要性及在C++中的应用。以下是核心内容: 1. **Applicative的基本特征**: - Applicative是一种函数式编程模式,介于Functor和Monad之间。 - 每个Monad也可以是Applicative,但Applicative并不一定是Monad。 - Applicative的核心在于`apply`函数,用于在函子中应用函数,尤其适用于多参数函数的应用。 2. **Applicative的历史与发展**: - Applicative最早在2008年Conor McBride和Ross Paterson的《Applicative Programming with Effects》中提出。 - 2014年,GHC 7.10将Applicative正式引入,作为Functor和Monad之间的中介。 - 在C++中,Applicative和Monad模式自C++11后逐渐出现。 3. **Applicative的优势**: - 内在地支持并行性。Applicative可以并行评估多个参数。 - 在C++中,Applicative的实现可以通过`fmap`或`apply`函数实现,具有一定的工程灵活性。 4. **常见的Applicative实例**: - `std::optional` - `std::expected` - Ranges(包括同构和异构 ranges) - 其他实用模式,如`zip`、笛卡尔积、解析和续延。 总结:Applicative是一种连接Functor和Monad的重要模式,具有并行性优势和广泛的应用潜力,尤其在C++中,通过合理的工程实现,可以更高效地解决问题。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 129 页请下载阅读 -
文档评分
请文明评论,理性发言.