Stile applicativo per gli operatori infissi?
-
12-12-2019 - |
Domanda
C'è un modo per rendere gli usi applicativi del <$>
e del <*>
sembrano carini quando si tratta di operatori di infissi?Penso che
((++) <$> a <*> ((++) <$> b <*> c ))
.
Sembra molto più ingombrante quindi
a ++ b ++ c
.
Quindi mi chiedo se c'è un modo più bello.
Soluzione
(<++>) = liftA2 (++)
a <++> b <++> c
.
o
liftA2 (++) a $ liftA2 (++) b c
. Altri suggerimenti
Vedi Thomas Davie's Infixapplicative pacchetto, che fornisce un trucco sintattico generale, piuttosto che dover definire un nuovo operatore per ciascunoSollevamento.
lei ti consente di scrivere
(|a ++ (|b ++ c|)|)
.
Se è qualsiasi uso.Certo, c'è un po 'di sopraelevato per introdurre uno strato di pre-elaborazione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow