Вопрос

Есть ли способ аппликативного использования <$> и <*> красиво выглядеть при работе с инфиксными операторами?я думаю что

((++) <$> a <*> ((++) <$> b <*> c ))

тогда выглядит гораздо более загроможденно

a ++ b ++ c

поэтому мне интересно, есть ли более приятный способ.

Это было полезно?

Решение

(<++>) = liftA2 (++)
a <++> b <++> c

или

liftA2 (++) a $ liftA2 (++) b c

Другие советы

См. Томаса Дэви ИнфиксАппликативный пакет, который обеспечивает общий синтаксический трюк вместо того, чтобы определять новый оператор для каждого подъема.

ОНА позволяет тебе писать

(|a ++ (|b ++ c|)|)

если это будет полезно.Конечно, введение слоя предварительной обработки требует некоторых накладных расходов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top