在 Haskell 中的 Applicative 中 <*> 的词源是啥?
Posted
技术标签:
【中文标题】在 Haskell 中的 Applicative 中 <*> 的词源是啥?【英文标题】:What is the etymology of <*> from Applicative in Haskell?在 Haskell 中的 Applicative 中 <*> 的词源是什么? 【发布时间】:2016-07-04 22:10:30 【问题描述】:<*>
这个名字最早是从哪里开始出现在文献或代码中的,它对符号的选择有什么解释吗?
【问题讨论】:
【参考方案1】:The original idioms paper 已经使用⊛
进行申请; <*>
被选为它的 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 中 <*> 的词源是啥?的主要内容,如果未能解决你的问题,请参考以下文章
高阶函数式编程三:在 Kotlin 中“实现”应用函子(Applicative)