Преимущества использования \/ в качестве аппликативного функтора в Scalaz

Это продолжение моего предыдущего вопроса

Предположим, у меня есть две функции, которые возвращают \/ (увидеть ниже). Мне нужно позвонить им обоим и "быстро провалиться".

type CheckResult = String \ / Unit

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

Предположим также, что эти функции могут быть вызваны в любом порядке. Таким образом я могу использовать \/ в качестве аппликативного функтора, а не монады.

checkX () | @ | checkY ()

К сожалению, я не понимаю точно, почему это лучше, чем монадическое секвенирование. Предположим, это менее мощная абстракция. Есть ли конкретное преимущество использования \/ как аппликатив в данном конкретном случае?

0 ответов

Другие вопросы по тегам