Насколько я могу судить, если я хочу определить протокол ( 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] ...))
Нет ли способа объединить эти два протокола, возможно, с «анонимным» протоколом?