Frage

Gibt es eine Möglichkeit, es anwendungsorientiert zu nutzen? <$> Und <*> Sehen Sie gut aus, wenn Sie mit Infix-Operatoren arbeiten?ich denke, dass

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

Dann sieht es viel aufgeräumter aus

a ++ b ++ c

Daher frage ich mich, ob es einen schöneren Weg gibt.

War es hilfreich?

Lösung

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

oder

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

Andere Tipps

Siehe Thomas Davies InfixApplicative Paket, das einen allgemeinen syntaktischen Trick bereitstellt, anstatt für jeden Lifting einen neuen Operator definieren zu müssen.

SIE lässt dich schreiben

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

falls das irgendeinen Nutzen hat.Natürlich ist die Einführung einer Vorverarbeitungsschicht mit einem gewissen Aufwand verbunden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top