也许这不是一个正确的提问地点,并且可能这个问题太过分了,但是有没有理由<*>
(和类似的<$>
)函数是中缀?根据我对Haskell的理解和知识(迄今为止),它与fmap
的作用相同。
那么,为什么fmap
不是中缀,而是其Applicative和Functor变体呢?
答案 0 :(得分:13)
我认为这主要是出于这种习惯的动机:
f <$> x <*> y <*> z
拼写前缀函数它不太漂亮,你需要知道有多少应用程序只是为了开始输入:
ap (ap (fmap f x) y) z