对于可折叠设备

For for foldables

forflip traverse

forMflip mapM

以此类推for_,以此类推

foldMap呢?很寂寞。

flip foldMap = ?

如果每个 2 参数函数都有翻转的对应函数,那就太傻了。 for 变体值得的原因主要是它们与 do 符号一起玩得非常好,以一种密切记住的方式。 Python 循环。

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

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