Интерфейс классов типов Monad и вспомогательные функции


bind связывает нам два монадических вычисления, а облегченный связыватель (>>), говорит, что он из a вынет значение, но никуда не передаст. Фактически эта функция очень похожа на flip const - первый аргумент игнорируется, а второй просто возвращается.

При наступлении некоторых событий мы не можем продолжить монадическое вычисление и тогда автоматически вызывается функция fail.




Оператор монадического связывания с переставленными аргументами:
Конвейер вычислений развернут в обратную сторону. Используется если нужно записать цепочку монадических вычислений в обратную сторону.


Оператор левой рыбки - это оператор композиции монадических вычислений:
Он делает композицию стрелок Клейсли.
В Haskell есть еще правая рыбка.