Rich Hickey называет этот релиз в основном maintenance, хотя есть и достаточно крупные изменения:
- Расширяемая процедура чтения (reader) - разработчик может указать функцию чтения для своих типов данных. Разработчик должен указать метку для своего типа данных, и соответствующую функцию чтения, и данная функция будет вызвана после того, как следующая (после метки) форма будет считана стандартным reader. Например, можно будет писать вот так:
#foo/bar [1 2 3]- в этом случае, после чтения метки, процедура чтения сначала считает форму[1 2 3], а затем вызовет процедуру связанную с данной меткой (если она определена) и передаст ей прочитанные данные. В состав новой версии вошла поддержка чтения двух новых типов - #inst - для времени и даты, и #uuid - для UUID.
- Новый синтаксис для доступа к полям записей (унифицировано с ClojureScript) - теперь можно писать (.-field_name record-instance).
- Возможность контролировать поведение компилятора Clojure с помощью опций, указанных через переменную *compiler-options*.
Полный список изменений можно найти в репозитории. Кроме того, может быть интересным интервью Rich Hickey в котором он рассказывает про некоторые изменения в новой версии.
Комментариев нет:
Отправить комментарий