在 Haskell 中的 Applicative 中 <*> 的词源是啥?

Posted

技术标签:

【中文标题】在 Haskell 中的 Applicative 中 <*> 的词源是啥?【英文标题】:What is the etymology of <*> from Applicative in Haskell?在 Haskell 中的 Applicative 中 <*> 的词源是什么? 【发布时间】:2016-07-04 22:10:30 【问题描述】:

&lt;*&gt; 这个名字最早是从哪里开始出现在文献或代码中的,它对符号的选择有什么解释吗?

【问题讨论】:

【参考方案1】:

The original idioms paper 已经使用 进行申请; &lt;*&gt; 被选为它的 ASCII-art 近似值,因为 (*) 不可用(它是中缀运算符 * 的前缀形式的语法)。

【讨论】:

【参考方案2】:

这是原始习语论文中使用的符号的 ASCII 化:“Idioms: applicative programming with effects”。反过来,该符号受到 Sweirstra 和 Duponcheel 关于纠错解析器组合器的论文中已经 ASCII 化的版本的启发:“Deterministic, Error-Correcting Combinator Parsers”。这来自 Jeroen Fokker 的“Functional Parsers”。这篇论文没有说明它来自哪里,这可能意味着它起源于它。如果在此之前用于解析,我不会感到惊讶。

【讨论】:

只是为了帮助在 Fokker 论文中找到这个符号:它是在第 5 页的第 4 节开头引入的。

以上是关于在 Haskell 中的 Applicative 中 <*> 的词源是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Haskell趣学指南

Haskell语言学习笔记(46)Parsec

Haskell中()的默认定义如何工作?

高阶函数式编程三:在 Kotlin 中“实现”应用函子(Applicative)

Not a Functor/Functor/Applicative/Monad 的好例子?

在“松散的monoidal仿函数”中,“松散”是什么意思?