Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 应用(和朋友)方法是否有人性化的名称?_Haskell_Naming_Applicative - Fatal编程技术网

Haskell 应用(和朋友)方法是否有人性化的名称?

Haskell 应用(和朋友)方法是否有人性化的名称?,haskell,naming,applicative,Haskell,Naming,Applicative,最近我一直在使用applicative(和alternative),有一件事让我感到沮丧,那就是我对命名法缺乏知识。举个例子,对于,我希望能够说函数名,而不是星形的东西。因此,与阅读>=的方式大致相同,以下内容是否有更人性化的名称: -是否应用 -左侧和右侧是否适用 -fmap 同样的,箭也是如此 ***-拆分 &&&-扇出 如果有这些名字,我的搜索还没有发现。我知道这些术语可能不被接受,但如果有,我很想知道它们。嗯,没有标准名称,但有时它们被称为: 是“splat” 是“钱” 以

最近我一直在使用applicative(和alternative),有一件事让我感到沮丧,那就是我对命名法缺乏知识。举个例子,对于
,我希望能够说
函数名
,而不是
星形的东西
。因此,与阅读
>=
的方式大致相同,以下内容是否有更人性化的名称:

  • -是否应用
  • -左侧和右侧是否适用
  • -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|)