可能重复:
Are there pronounceable names for common Haskell operators?
用英语怎么说<$>
和<*>
?我知道<$>
只是fmap,所以它被称为?
你会如何大声朗读这些片段?
ghci> (:) <$> Just 3 <*> Just [4]
ghci> Just (+3) <*> Just 9
答案 0 :(得分:5)
(:) <$> Just 3 <*> Just [4]
是“仅应用于三个应用于仅包含一个元素四的列表”
Just (+3) <*> Just 9
是“只加三只适用于九只”。
此外,<$>
为fmap
,而不是<*>
:
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
Prelude Control.Applicative> :t (<$>)
(<$>) :: Functor f => (a -> b) -> f a -> f b
Prelude Control.Applicative> :t fmap
fmap :: Functor f => (a -> b) -> f a -> f b
有很多种东西需要应用。 a $ b
,a <$> b
,a <*> b
和ap a b
都是应用,仅适用于不同类型的a
和b
。同样,>=>
和.
都是组合等。