Ответ 1
Телами метода reify
являются лексические замыкания и могут ссылаться на окружающую локальную область. reify
отличается от proxy
тем, что:
- Поддерживаются только протоколы или интерфейсы, нет конкретного суперкласса.
- Телами метода являются истинные методы результирующего класса, а не внешние fns.
- Вызов методов в экземпляре напрямую, не используя поиск по карте.
- Нет поддержки динамической замены методов на карте методов.
Результат - лучшая производительность, чем прокси, как в построении, так и при вызове. reify
предпочтительнее proxy
во всех случаях, когда его ограничения не являются запретительными.
Источник: http://clojure.org/datatypes