Clojure библиотеки исходного кода - PullRequest
2 голосов
/ 14 мая 2011

Я читаю Даг Хойт Let Over Lambda . Эта книга в основном о написании расширенных макросов Common Lisp.

Если я начну писать много макросов Clojure, я бы хотел сохранить их в какой-то библиотеке, возможно, в файле JAR с исходным кодом. В настоящее время я храню эти программы в виде фрагментов и копирую / вставляю их в код по мере необходимости. Если бы они могли храниться в JAR, то изменение макроса потребовало бы просто перекомпиляции любых проектов, которые его использовали.

Есть ли какой-нибудь способ упаковать их в исходный JAR-файл, который затем можно включить в сборку Clojure Maven, чтобы они компилировались с остальным кодом и в конечном итоге находились в конечном исполняемом файле JAR проекта?

Я знаю, что идиоматическим способом разработки кода Clojure является использование REPL, но я часто пишу исполняемые утилиты JAR, которые отправляю внутренним клиентам, которые ничего не знают о Clojure.

1 Ответ

3 голосов
/ 14 мая 2011

Моя настройка заключается в том, что у меня есть личная библиотека для таких функций, которую я храню в отдельном проекте (я использую Eclipse с плагином Clojure против часовой стрелки ).

Во время разработки я просто настроил свой текущий проект на использование моей стандартной библиотеки в качестве зависимости.Кажется, это работает нормально, независимо от того, используете ли вы REPL или запускаете приложение как отдельную программу.

Затем я использую Maven ( m2eclipse ), чтобы встроить его в артефакт JAR-файла, который может бытьраспределяется как требуется обычным способом.

...