中缀运营商的应用方式?

hug*_*omg 7 haskell infix-operator applicative

在处理中缀运算符时,有没有办法使用<$>并且<*>看起来很好看?我觉得

((++) <$> a <*> ((++) <$> b <*> c ))
Run Code Online (Sandbox Code Playgroud)

看起来更加混乱

a ++ b ++ c
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有更好的方式.

sin*_*yma 12

(<++>) = liftA2 (++)
a <++> b <++> c
Run Code Online (Sandbox Code Playgroud)

要么

liftA2 (++) a $ liftA2 (++) b c
Run Code Online (Sandbox Code Playgroud)

  • 是 - 添加另一对尖括号. (2认同)

Con*_*nal 6

请参阅Thomas Davie的InfixApplicative软件包,它提供了一般的语法技巧,而不必为每次提升定义一个新的运算符.

  • 文档有点受损.我认为*OP的例子会翻译为`a <^(++)^>(b <^(++)^> c)`---你能确认/否认吗? (2认同)