Примеры монады, чья аппликативная часть может быть лучше оптимизирована, чем часть монады

В одной дискуссии я слышал, чтоApplicative Интерфейс некоторых парсеров реализован иначе, более эффективно, чем ихMonad интерфейс. Причина в том, что сApplicative мы все знаемпоследствия" заранее, до того, как будут выполнены все эффективные вычисления. В случае монад эффекты могут зависеть от значений во время вычислений, поэтому такая оптимизация невозможна.

Я хотел бы увидеть несколько хороших примеров этого. Это может быть какой-то очень простой парсер или какая-то другая монада, которая 'не важно. Важно то, чтоApplicative Интерфейс такой монады соответствует ееreturn а такжеap, но используяApplicative производит более эффективный код.

Обновить: Просто чтобы уточнить, вот яменя не интересуют аппликативы, которые могутне быть монад. Вопрос о вещах, которые оба.

Ответы на вопрос(3)

Ваш ответ на вопрос