如何在Clojure中使用definterface?

Jou*_*nen 3 clojure

似乎Clojure 1.2.0有一个definterface表单,显然是用于创建Java接口,有些人建议使用它(例如,这个数字运算问题的一个答案).但是,我似乎无法找到任何文档或如何使用它的实质示例.我不是在寻找合适的地方,还是它实际上是一个不应该被使用的早期功能?我对指向文档或示例的指针很感兴趣definterface.

kot*_*rak 6

看看文档gen-interface.

粗略的形式是:

(definterface Foo
  [bar [Arg1Type Arg2Type] ReturnType]
  [sideEffects [int] void]
  ...)
Run Code Online (Sandbox Code Playgroud)

编辑:你是对的.接口是更接近的defprotocol比的gen-interface.

(definterface Foo
  [^int foo [x ^String y]]
  [^void bar [^ints is]])
Run Code Online (Sandbox Code Playgroud)