Существует слишком много руководств по монадам, в которых говорится... "Смотрите! Вот случай, когда мы можем использовать монаду" или "Этот для чего нужна монада». Что я хочу знать, так это какие шаги люди используют, чтобы прийти к заключению, которое они могут сказать себе: «Ого! Похоже, мы можем использовать здесь монаду!»
Итак, когда кто-то говорит мне... "(бла) не имеет ничего общего с монадой...", это на самом деле не помогает мне ответить на мои вопросы, а именно:
Я начал здесь очень длинный вопрос о монадах, если кто-то заинтересован, чтобы помочь - Map and Reduce Monad for Clojure... Что насчет Juxt Monad?.
Вернемся к этому вопросу:
Когда следует использовать монаду вместо макроса и наоборот?
defmacro
и это прекрасно работает.А зачем нам монады в Clojure, если у нас есть макросы?