7

有没有办法在处理中缀运算符时进行应用性使用<$>并看起来不错?<*>我觉得

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

然后看起来更混乱

a ++ b ++ c

所以我想知道是否有更好的方法。

4

3 回答 3

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

或者

liftA2 (++) a $ liftA2 (++) b c
于 2012-10-02T02:44:31.590 回答
6

请参阅 Thomas Davie 的InfixApplicative包,它提供了一个通用的句法技巧,而不必为每次提升定义一个新的运算符。

于 2012-10-02T06:19:56.897 回答
3

SHE让你写

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

如果那有什么用。当然,引入预处理层有一些开销。

于 2012-10-02T07:46:48.597 回答