Описание тега clojure-protocol

Протоколы были введены в Clojure 1.2
1 ответ

Clojure deftype и протокол

У меня есть этот код Clojure в моем (NS обработчики) (defprotocol ActionHandler (handle [params session])) (defrecord Response [status headers body]) (deftype AHandler [] ActionHandler (handle [params session] (Response. 200 {"Content-Type" "text/pl…
15 май '14 в 00:13
1 ответ

Clojure - отправка по типу возврата? (Такой же выразительный, как классы типов Haskell)

Это вопрос о выразительности Clojure по сравнению с другими языками, такими как Haskell. Более широкая проблема - это решение проблемы выражения. Этот вопрос пришел к выводу, что в целом протоколы Clojure (и мультиметоды) были менее выразительными, …
1 ответ

Создание библиотеки протоколов и defrecords для использования из Java

На данный момент у меня есть полностью функциональная библиотека Clojure, которая вызывается из Java. Способ, которым я делаю это: у меня есть файл, который использует gen-class, чтобы обернуть весь API как статические методы одного класса и передав…
1 ответ

Существует ли инструмент времени компиляции Clojure, чтобы проверить, действительно ли запись или тип реализует протокол, на который она претендует?

Кажется, что компилятор Clojure не делает этого по умолчанию: проверяет ли компилятор Clojure, реализуют ли протоколы типы записей и типов? Какие-нибудь, скажем, плагины Lein, которые делают это?
15 авг '15 в 17:56
1 ответ

Приоритет протоколов clojure в другом пространстве имен

В проекте с использованием clojure.java.jmxЯ расширяю это Destract протоколы objects->data функция для преобразования большего количества структур данных JMX, возвращаемых из вызовов или запросов метаданных, в простые структуры данных clojure. Ко…
30 мар '16 в 15:08
1 ответ

Компилятор Clojure проверяет, реализуют ли записи и типы протоколы?

Предназначен ли компилятор Clojure для проверки, реализует ли запись или тип, который говорит, что он создает протокол, методы, перечисленные в нем? Я пробую это сейчас и пока, похоже, нет.
15 авг '15 в 13:46
0 ответов

Как реализовать интерфейс через протоколы?

С помощью extend-protocolпротокол P может обеспечить реализацию по умолчанию для всего, что реализует интерфейс I, Это по сути учит Iделать новые вещи. Если мы хотим, чтобы тип или запись обеспечивали функциональность I нам все еще нужно расширить и…
18 янв '16 в 10:39
1 ответ

Запечатанные протоколы Clojure

Я хотел бы знать, использует ли Clojure шаблон запечатанного интерфейса/реализации записи в Java, и если да, то как его определить. Я думал в духе чего-то вроде: (defprotocol ;; protocol definition here :allows ;; vector of allowed types) Тогда REPL…