在Scalaz中使用\ /作为applicative functor的优点

时间:2014-04-01 05:26:02

标签: scala error-handling scalaz

这是我之前question

的后续内容

假设我有两个函数返回\/(见下文)。我需要打电话给他们两个并“快速失败”。

type CheckResult = String \/ Unit

def checkX(): CheckResult = ...
def checkY(): CheckResult = ...

还假设可以按任何顺序调用这些函数。因此,我可以使用\/作为应用函子而不是monad。

checkX() |@| checkY()

不幸的是我不明白完全为什么它比monadic测序更好。假设这是一个不太强大的抽象。在这个特定情况下使用\/作为应用程序有什么具体的优势吗?

0 个答案:

没有答案