Я создал протокол в 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 (в особенности карты, векторы и последовательности)?