Pregunta

¿Hay alguna manera de hacer usos aplicativos de <$> y <*> ¿Se ve bien cuando se trata de operadores infijos?Creo que

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

Se ve mucho más desordenado entonces.

a ++ b ++ c

entonces me pregunto si hay una manera mejor.

¿Fue útil?

Solución

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

o

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

Otros consejos

Ver Thomas Davie InfijoAplicativo paquete, que proporciona un truco sintáctico general, en lugar de tener que definir un nuevo operador para cada levantamiento.

ELLA te permite escribir

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

si eso sirve de algo.Por supuesto, hay algunos gastos generales al introducir una capa de preprocesamiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top