Про макросы: из минус в том, что на них невозможно сослаться как на функцию, и потому не передать в map, update-in, assoc-in, partial и тд. Пока есть возможность разрулить функцией, надо пользоватся функцией.
У джаваметодов (джаваскрипт туда же) точно такой же “недостаток”, однако это не мешает их повсеместному использованию. Ну и в некоторых языках макросы - фест класс ситизен, хотя мы про Кложу здесь
CompilerException java.lang.RuntimeException: Unable to resolve symbol: .toString in this context, compiling:(/tmp/form-init7974995380390774716.clj:1:1)
У джаваметодов (джаваскрипт туда же) точно такой же “недостаток”, однако это не мешает их повсеместному использованию. Ну и в некоторых языках макросы - фест класс ситизен, хотя мы про Кложу здесь
Методы да, и это же не отрицает того, что сказано про макросы. Методы это тоже вынужденная мера