Аппликативный стиль для инфиксных операторов?
-
12-12-2019 - |
Вопрос
Есть ли способ аппликативного использования <$>
и <*>
красиво выглядеть при работе с инфиксными операторами?я думаю что
((++) <$> a <*> ((++) <$> b <*> c ))
тогда выглядит гораздо более загроможденно
a ++ b ++ c
поэтому мне интересно, есть ли более приятный способ.
Решение
(<++>) = liftA2 (++)
a <++> b <++> c
или
liftA2 (++) a $ liftA2 (++) b c
Другие советы
См. Томаса Дэви ИнфиксАппликативный пакет, который обеспечивает общий синтаксический трюк вместо того, чтобы определять новый оператор для каждого подъема.
ОНА позволяет тебе писать
(|a ++ (|b ++ c|)|)
если это будет полезно.Конечно, введение слоя предварительной обработки требует некоторых накладных расходов.
Не связан с StackOverflow