Как использовать 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]])
Другие вопросы по тегам