|
|
28 апреля 2011
Оглавление: 1. Clojure 2. Макросы 3. Примеры
Макро система Clojure очень похожа на аналогичную систему Common Lisp, за тем исключением что используемый в Clojure вариант обратной кавычки квалифицирует символы их именем. Это помогает предотвратить непреднамеренный захват имени при привязке к пространству имён квалификация имён запрещена. Можно выполнить такой захват при макроподстановке, но это должно быть сделано явно. Clojure также запрещает связывание глобальных имён из других пространств имён, которые были импортированы в текущее пространстве имён.
Особенности языка
- Динамическая, интерактивная разработка в REPL-цикле
- Функции как объекты первого класса с акцентом на рекурсию, а не на основанную на побочных эффектах итерацию
- «Ленивые» последовательности
- Обеспечивает богатый набор неизменяемых, сохраняемых структур данных
- параллельное программирование с поддержкой транзакционной памяти , агентной системы и системы динамических переменных
- Clojure компилируемый язык, результатом компиляции является байткод JVM
- Тесная интеграция с Java: за счёт компиляции в байткод JVM программы на Clojure легко переносятся в любую среду с JVM. Язык также обеспечивает ряд макросов, которые упрощают использование в нём существующих Java API. Структуры данных Clojure реализуют все стандартные интерфейсы Java, что делает легким запуск из Java программного кода написанного на Clojure.
Просмотров: 2573
|