这是我之前question
的后续内容假设我有两个函数返回\/
(见下文)。我需要打电话给他们两个并“快速失败”。
type CheckResult = String \/ Unit def checkX(): CheckResult = ... def checkY(): CheckResult = ...
还假设可以按任何顺序调用这些函数。因此,我可以使用\/
作为应用函子而不是monad。
checkX() |@| checkY()
不幸的是我不明白完全为什么它比monadic测序更好。假设这是一个不太强大的抽象。在这个特定情况下使用\/
作为应用程序有什么具体的优势吗?