Здравствуйте, Аноним, Вы писали:
А>Самая правильная схема изучения монад:
А> категории -> функторы -> натуральные преобразования -> монады
А>An Introduction to Category Theory, Category Theory Monads, and Their Relationship to Functional Programming
А>http://citeseer.ist.psu.edu/62964.html
Абсолютно бессмысленная потеря времени. То, что монады из теории категорий прикрутили проволокой к Хаскелю, не означает, что их изучение даст какие-либо полезные знания в области программирования. Монады в программировании сами по себе зло. Они не имееют никакого отношения к математическим монадам, поскольку для большинства из них не выполняются условия определения (да и проверить, что они выполняются часто просто невозможно), а значит вся теория для них не работает. Они сложны для понимания и создают ложное ощущение, что в них имеется какой-то скрытый мегамощный смысл, хотя, реально, они всего лишь решают обычные задачи только через заднее место. Монады — особенность Хаскеля, следствие его ущербности в императивном плане, в других языках они просто не нужны, поскольку там все монадные проблемы решаются напрямую, грубо но эффективно. Да даже в ленивых языках есть альтернативные, зачастую намного более эффективные подходы к решению проблемы разрушающего присваивания, см. Clean.