Насколько я понимаю, новый макрос reify
работает быстрее, чем proxy
. Вы можете использовать его, если вам нужно реализовать только один интерфейс.
Например, если вам нужно реализовать java.awt.event.ActionListener
, вы можете использовать код, подобный следующему:
(import 'java.awt.event.ActionListener 'javax.swing.JButton)
(let [a-button (JButton. "Click Me")]
(.addActionListener a-button
(reify ActionListener
(actionPerformed [this ev] (comment do something interesting)))))