-1

forflip traverse

forMflip mapM

等等for_,等等。

怎么样foldMap?这是孤独的。

flip foldMap = ?

4

1 回答 1

7

如果每个 2 参数函数都有一个翻转的对应物,那将是愚蠢的。这些for变体之所以有价值,主要是因为它们与do记谱法配合得非常好,以一种非常容易记住例如 Python 循环的方式。

main = do
  ...
  forM_ [0..9] $ \i -> do
     print i
     ...
  return ()

因为foldMap您仍然可以从$RHS 上的语法预示 +lambda 中受益,但是您不会处于 monad 中(至少不是这样使用的),不会使用do符号,并且可能无论如何都需要一些括号。foldMap因此,与中间带括号的函数的常规相比,没有太多优势。

于 2022-03-02T23:38:26.013 回答