2016-05-17 127 views
20

在閱讀一段Haskell代碼時,我遇到了這個問題:<$>。 Haskell意味着什麼?經過一些谷歌搜索,我仍然在黑暗中。

+2

這不是最後一個「奇怪的Haskell符號」,你會遇到:) – Jubobs

+1

FYI symbolhound(http://symbolhound.com/?q=%3C%24%3E+haskell)或更具體地說hoogle(https ://www.haskell.org/hoogle/?hoogle =%3C%24%3E)在這種情況下很有用。 – ron

回答

34

Google不是Haskell的最佳搜索引擎。嘗試HoogleHayoo,雙方將指向你馬上to this:

(<$>) :: Functor f => (a->b) -> f a -> f b 

這僅僅是fmap中綴代名詞,所以你可以寫例如

Prelude> (*2) <$> [1..3] 
[2,4,6] 
Prelude> show <$> Just 11 
Just "11" 

最喜歡的中綴的功能,它是內置語法,只是一個函數定義。但仿函數是這樣一個基本的工具,<$>幾乎無處不在。