有没有一种方法可以应用 <$><*> 在处理中缀运算符时看起来不错?我认为

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

那看起来乱得多

a ++ b ++ c

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

有帮助吗?

解决方案

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

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

其他提示

查看托马斯戴维的完整档案 InfixApplicative碌录潞陆 包,它提供了一个通用的句法技巧,而不必为每个提升定义一个新的运算符。

让你写

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top