对于可折叠设备
For for foldables
for
是 flip traverse
。
forM
是 flip 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
相比,没有太多优势。
for
是 flip traverse
。
forM
是 flip 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
相比,没有太多优势。