Estilo aplicativo para operadores infixos?
-
12-12-2019 - |
Pergunta
Existe uma maneira de fazer usos aplicativos de <$>
e <*>
fica bem ao lidar com operadores infixos?eu penso isso
((++) <$> a <*> ((++) <$> b <*> c ))
parece muito mais confuso então
a ++ b ++ c
então eu me pergunto se existe uma maneira melhor.
Solução
(<++>) = liftA2 (++)
a <++> b <++> c
ou
liftA2 (++) a $ liftA2 (++) b c
Outras dicas
Veja Thomas Davie InfixAplicativo pacote, que fornece um truque sintático geral, em vez de ter que definir um novo operador para cada levantamento.
ELA permite que você escreva
(|a ++ (|b ++ c|)|)
se isso for útil.É claro que há alguma sobrecarga na introdução de uma camada de pré-processamento.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow