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

Изменения в новой версии:

  • монолитная система дополнений clojure-contrib.jar заменена на полностью модульную структуру, что позволяет, во-первых, не включать в готовые приложения код неиспользуемых библиотек, а во-вторых, иметь собственный цикл разработки для каждой отдельной библиотеки. При этом для обновления приложений, написанных на Clojure 1.2, рекомендуется сначала обновить библиотеки, а затем уже обновиться до Clojure 1.3;
  • улучшена поддержка примитивов для арифметических расчетов;
  • внесены изменения в определении записей (defrecord) и типов (deftype);
  • улучшена система оповещения об исключениях и ошибках;
  • добавлены несколько новых функций в clojure.core, clojure.data, clojure.pprint, clojure.repl;
  • clojure.java.shell/sh теперь поддерживает в качестве источника данных объекты типов InputStream, Reader, File, byte;
  • введена поддержка Maven для компиляции и развертывания приложений;
  • увеличена производительность скомпилированных приложений.