如何在不引入新名称的情况下删除标有^
的括号? (如果它可以分成多行,则更好)
liftM2 (+) (somefunc arg1 (get arg2)) (somefunc arg3 (get arg3))
^ ^ ^ ^
-
答案 0 :(得分:16)
您可以使用$
删除最后一个,但是如果不引入新名称,则无法删除另一个。一个更好的解决方案可能是使用以下事实:任何Monad m
也应该是Applicative
和Functor
(并且将,来GHC 7.10)
然后你的例子变成了
import Control.Applicative ((<$>), (<*>))
(+) <$> somefunc arg1 (get arg2) <*> somefunc arg3 (get arg3)