Расширение протоколов для пользовательских классов Java, карт и последовательностей в Clojure

Я создал протокол в Clojure 1.2, который обрабатывает мои собственные классы Java и имеет обработку значения по умолчанию для универсального java.lang. Объект. Код смотрит что-то как:

(extend-protocol PMyProtocol
  my.java.ClassName
    (protocol-function [c]
      "My Java class result")

  java.lang.Object
    (protocol-function [c]
      "Default object result"))

Как я должен расширить это, чтобы иметь специальную обработку для стандартных структур данных Clojure (в особенности карты, векторы и последовательности)?

5
задан mikera 2 August 2010 в 14:42
поделиться