Кто-нибудь когда-либо переворачивает (<$>)

Я нашел определение

(%)  = flip fmap

Я могу написать код следующим образом:

readFile "/etc/passwd" % lines % filter (not . null)

для меня это имеет смысл, тогда альтернатива

filter (not . null) <$> lines <$> readFile "/etc/passwd"

Очевидно, что это просто вопрос порядка, делает ли кто-нибудь еще это? есть ли веская причина не писать такой код?

Ответ 2

Аналогичная функция для Applicative typeclass называется <**>; это совершенно разумная вещь, которую нужно хотеть или использовать для Functor. К сожалению, семантика немного отличается от <**>, поэтому она не может быть напрямую расширена для применения к Functor.

Ответ 3

-- (.) is to (<$>) as flip (.) is to your (%).  

Я обычно определяю (&) = flip (.), и это точно так же, как и ваш пример, вы можете применять функции backwords. Позволяет проще понять код без очков, на мой взгляд.

Ответ 4

Лично я бы не использовал такие операторы, потому что тогда мне нужно изучить два порядка чтения программ.