为什么<*>是Haskell中的中缀函数?

Rob*_*ers 6 haskell

也许这不是一个正确的问题,也许这个问题太"元"了,但是<*>(并且类似的<$>)函数是否有中缀的原因?根据我的理解和我对Haskell的了解(到目前为止),它的作用与之相同fmap.

那么,为什么fmap不是中缀而是它的Applicative和Functor变体呢?

Dan*_*ner 13

我认为这主要是出于这种习惯的动机:

f <$> x <*> y <*> z
Run Code Online (Sandbox Code Playgroud)

拼写前缀函数它不太漂亮,你需要知道有多少应用程序只是开始输入:

ap (ap (fmap f x) y) z
Run Code Online (Sandbox Code Playgroud)

  • @leftaroundabout当然.如果你要一直这样做,你也可以选择可以使用中缀的函数名. (10认同)
  • 虽然你当然可以写``f`fmap` x`ap`y`ap`z``. (3认同)