В одном из сообщений я слышал, что интерфейс Applicative некоторых парсеров реализован по-разному, более эффективно, чем их интерфейс Monad. Причина в том, что при Applicative мы знаем все "эффекты" заранее, прежде чем начнется все эффективное вычисление. С помощью монадов эффекты могут зависеть от значений во время вычисления, поэтому эта оптимизация невозможна.
Я бы хотел увидеть несколько хороших примеров этого. Это может быть очень простой парсер или какая-то другая монада, что не важно. Важно то, что интерфейс Applicative такой монады соответствует ее return и ap, но с помощью Applicative создается более эффективный код.
Обновление: Просто чтобы уточнить, здесь меня не интересуют аппликации, которые не могут быть монадами. Вопрос в том, что они оба.