Haskell 应用(和朋友)方法是否有人性化的名称?
最近我一直在使用applicative(和alternative),有一件事让我感到沮丧,那就是我对命名法缺乏知识。举个例子,对于Haskell 应用(和朋友)方法是否有人性化的名称?,haskell,naming,applicative,Haskell,Naming,Applicative,最近我一直在使用applicative(和alternative),有一件事让我感到沮丧,那就是我对命名法缺乏知识。举个例子,对于,我希望能够说函数名,而不是星形的东西。因此,与阅读>=的方式大致相同,以下内容是否有更人性化的名称: -是否应用 -左侧和右侧是否适用 -fmap 同样的,箭也是如此 ***-拆分 &&&-扇出 如果有这些名字,我的搜索还没有发现。我知道这些术语可能不被接受,但如果有,我很想知道它们。嗯,没有标准名称,但有时它们被称为: 是“splat” 是“钱” 以
,我希望能够说函数名
,而不是星形的东西
。因此,与阅读>=
的方式大致相同,以下内容是否有更人性化的名称:
-是否应用
-左侧和右侧是否适用
-fmap
-拆分***
-扇出&&&
如果有这些名字,我的搜索还没有发现。我知道这些术语可能不被接受,但如果有,我很想知道它们。嗯,没有标准名称,但有时它们被称为:
是“splat”
是“钱”
f <$> g <*> x
我相信是特雷弗·埃利奥特和埃里克·梅尔滕斯提出的术语。嗯,
是fmap
的同义词。而且,“applicative”这个名字让我想到了应用东西。由于
是执行此操作的主要操作符,因此我认为它与“apply”一词有着松散的联系。上下文与普通函数应用程序稍有不同,因此可能会对该词产生一些混淆,但上下文通常足够清楚,因此对我来说是可行的
也是Control.Monad中的ap
函数的同义词,因此这确认了我使用的单词“apply”
布伦特·约基是我学到这些的地方。这是一个杰出的资源。符号来自Doaitse Swierstra和Luc Duponcheel:他们已经为解析器组合器确定了这个接口,我们认为在有意义的地方尊重他们的选择很重要。我试着记住Doaitse是怎么发音的,但还是一无所获 我希望他们被看到而不是被听到。事实上,我也不希望他们被看到,因此。但特别是在定义实例时,有名称是很有帮助的。并不是说要由我来命名它们:整个习语、应用性和天知道的恶作剧都是对权力的迷人研究。用我自己的话说,这是值得的
是“应用(to)”(界面是“纯且应用的”,就像数学一样)
被“忽略”*>
我已经考虑了
的发音,所以我将在这里链接到它,而不是重复我自己…同意camccann的观点,()
实际上是“ap”-虽然很明显
是货币功能。可能不值得注意的是“splat”和“big money”是原始INTERCAL参考手册中为
和*
运算符指定的官方发音,如果我从未听说过,这肯定是一个权威来源。一如既往,感谢您提供的有用答案。很难只接受其中一个。我用《Waka Waka Bang Splat》和《Hatless Atlas》这两首诗来启发人们如何发音,但要获得更全面的参考,你可以使用ASCII表发音指南:谢谢Conor,你写了这篇关于整件事的论文(!),并给出了非常深刻的答案。$
f `money` g `splat` x
f <$> a <*> b <* c <*> d
(|f a b (-c-) d|)