Как вы говорите, map
- это менее общая форма fmap
. Если вы знаете, что у вас есть список, то я бы использовал map
, поскольку он делает код более понятным, и если вы допустите ошибку, сообщение об ошибке, вероятно, будет менее запутанным. Однако в значительной степени это вопрос предпочтения.
(<$>)
совпадает с fmap
. До GHC 7.10 он не был экспортирован Prelude, поэтому не был доступен по умолчанию - но даже с более старыми версиями GHC его легко импортировать из Data.Functor
или Control.Applicative
, и в наши дни это в значительной степени стандартный способ сделать это.