Я читаю Даг Хойт Let Over Lambda . Эта книга в основном о написании расширенных макросов Common Lisp.
Если я начну писать много макросов Clojure, я бы хотел сохранить их в какой-то библиотеке, возможно, в файле JAR с исходным кодом. В настоящее время я храню эти программы в виде фрагментов и копирую / вставляю их в код по мере необходимости. Если бы они могли храниться в JAR, то изменение макроса потребовало бы просто перекомпиляции любых проектов, которые его использовали.
Есть ли какой-нибудь способ упаковать их в исходный JAR-файл, который затем можно включить в сборку Clojure Maven, чтобы они компилировались с остальным кодом и в конечном итоге находились в конечном исполняемом файле JAR проекта?
Я знаю, что идиоматическим способом разработки кода Clojure является использование REPL, но я часто пишу исполняемые утилиты JAR, которые отправляю внутренним клиентам, которые ничего не знают о Clojure.