Haskell中是否有任何运算符使用(>>)折叠操作列表?

时间:2017-07-09 09:38:53

标签: haskell monads

我想要一些可以转换此

的运算符<?>
test arg1 >>
test arg2 >>
test arg3 >>
test arg4

到这个

test <?> [ arg1
         , arg2
         , arg3
         , arg4
         ]

1 个答案:

答案 0 :(得分:7)

您只需使用mapM_ :: Monad m => (a -> m b) -> [a] -> m ()

mapM_ test [arg1,arg2,arg3,arg4]

或者,如果你真的想写它的中缀:

test `mapM_` [ arg1
             , arg2
             , arg3
             , arg4
             ]