Класс Monad определяет метод >>, который последовательно выполняет два монадических действия:
>> :: Monad m => m a -> m b -> m b
Оператор привязки >>= имеет эквивалент с переворотом аргумента, =<<; как и команды монадической функции ( "рыбы" ) >=> и <=<. Кажется, что нет <<, хотя (через несколько минут Hoogling). Почему это?
Изменить: я знаю, что это неважно. Мне просто нравится, как некоторые строки кода выглядят с помощью указателей слева. x <- doSomething =<< doSomethingElse просто выглядит лучше, при этом все стрелки идут одинаково, чем x <- doSomethingElse >>= doSomething.