Девятый пункт в Что сделало Lisp другим Пола Грэма гласит:
9. Всегда доступен весь язык.
Нет реального различия между временем чтения, времени компиляции и времени выполнения. Вы можете компилировать или запускать код во время чтения, читать или запускать код во время компиляции, а также читать или компилировать код во время выполнения.
Запуск кода во время чтения позволяет пользователям перепрограммировать синтаксис Лиспа; запуск кода во время компиляции - это основа макросов; компиляция во время выполнения - это основа использования Lisp в качестве языка расширения в таких программах, как Emacs; а чтение во время выполнения позволяет программам обмениваться данными с помощью s-выражений - идея, недавно переосмысленная в XML.
Сохраняется ли последняя точка маркера для Clojure?