Вышла новая версия языка программирования Clojure — современного диалекта Лиспа с поддержкой разработки в интерактивном режиме, поощряющего функциональное программирование и упрощающего поддержку многопоточности. Clojure работает на платформах JVM и CLR.
Среди изменений:
- Расширяемая процедура чтения. Теперь разработчик может указывать функцию для чтения своих типов данных. Для этого необходимо указать метку для своего типа данных и соответствующую функцию чтения, которая будет вызвана после того, как следующая за меткой форма будет считана стандартным reader. Пример:
#foo/bar [1 2 3] ;;после чтения метки reader сначала считает форму [1 2 3], затем осуществит вызов процедуры, связанной с этой меткой, и передаст ей считанные данные.
- Новый синтаксис для доступа к полям записей. Теперь можно писать так:
(defrecord Foo [x]) ;=> user.Foo (.-x (Foo. 10)) ;=> 10
- Возможность контролировать поведение компилятора, задавая опции в переменной *compiler-options*.
- Исправлены некоторые ошибки.