Question

Y a-t-il un moyen d'utiliser des utilisations applicatives de <$> et de <*> semble agréable lorsque vous traitez avec des opérateurs d'infixe?Je pense que

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

semble beaucoup plus encombré puis

a ++ b ++ c

Alors je me demande s'il y a une manière plus agréable.

Était-ce utile?

La solution

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

ou

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

Autres conseils

Voir Thomas Davie's package InfixApplicative , qui fournit une truc syntaxique générale plutôt que de définir un nouvel opérateur pour chaquelevage.

elle vous permet d'écrire

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

Si c'est une utilisation.Bien sûr, il y a des frais généraux pour introduire une couche de prétraitement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top