Как использовать definterface в Clojure?
Похоже, что Clojure 1.2.0 имеет definterface
форма, по-видимому, для создания интерфейсов Java, и некоторые люди рекомендуют использовать ее (например, один ответ на этот сложный вопрос). Однако я не могу найти какую-либо документацию или существенные примеры того, как ее использовать. Я не смотрю в нужном месте, или это действительно такая ранняя функция, что ее не следует использовать? Меня интересуют указатели на документацию или примеры, демонстрирующие особенности definterface
,
1 ответ
Решение
Посмотрите на документацию gen-interface
,
Грубая форма это:
(definterface Foo
[bar [Arg1Type Arg2Type] ReturnType]
[sideEffects [int] void]
...)
РЕДАКТИРОВАТЬ: Вы правы. Интерфейс ближе к тому из defprotocol
чем это из gen-interface
,
(definterface Foo
[^int foo [x ^String y]]
[^void bar [^ints is]])