Комбинация Clojure defprotocol и defrecord

Насколько я могу судить, если я хочу определить протокол ( defprotocol ), который будет реализован только одной defrecord , мне все равно придется сначала определите протокол, а затем определите defrecord , который его реализует:

(defprotocol AProtocol
  (a-method [this])
  (b-method [this that]))

(defrecord ARecord [a-field b-field]
  AProtocol
  (a-method [this] ...)
  (b-method [this that] ...))

Нет ли способа объединить эти два протокола, возможно, с «анонимным» протоколом?

6
задан Ralph 8 July 2011 в 15:50
поделиться