【发布时间】:2021-06-27 06:55:34
【问题描述】:
来自文档:
(>>) :依次组合两个动作,丢弃第一个动作产生的任何值
(*>) :序列动作,丢弃第一个参数的值。
在我看来,两者都在做同样的工作。
【问题讨论】:
-
有一点需要注意:默认实现。默认情况下,
m >> n = m >>= const n和m *> n = liftA2 (flip const) m n。对于许多 monad,它们具有完全不同的性能特征!在这些情况下,您应该确保明确定义默认情况下性能不佳的那些。
标签: haskell monads applicative