簡體   English   中英

Haskell編碼風格:map,fmap還是<$>?

[英]Haskell coding-style: map, fmap or <$>?

有沒有理由更喜歡以下其中一種符號而不是其他符號,或者這只是一個偏好問題?

map toLower "FOO"

fmap toLower "FOO"

toLower <$> "FOO"

`fmap`且不說:我意識到<$>`fmap`是一樣的。 我是否認為map只是fmap一般形式?

如你所說, map是一種不那么通用的fmap形式。 如果你知道你有一個列表,那么我會使用map因為它使代碼更清晰,如果你犯了錯誤,錯誤信息可能不那么令人困惑。 但在很大程度上,這是一個偏好問題。

(<$>)fmap相同。 在GHC 7.10之前它沒有被Prelude導出,因此默認情況下不可用 - 但即使使用較舊的GHC版本,也很容易從Data.FunctorControl.Applicative導入,而現在它幾乎是執行此操作的標准方法。

我同意Ganesh的說法, map對於清單來說更清楚。 除了部分應用fmap ,我在fmap使用<$> 所以我使用fmap reverse來聲明一個函數來反轉某個函子的所有元素但是如果我有所有可用的參數(例如,如果我在do塊中寫一行)我傾向於使用運算符形式: reverse <$> fx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM