Мое понимание Clojure homoiconicity существует, чтобы упростить создание макросов.
Основываясь на qaru.site/info/216494/..., похоже, что макросы используются экономно, за исключением DSL, в которых функции более высокого порядка не используются.
Может ли кто-нибудь поделиться некоторыми примерами того, как макросы используются в реальной жизни?