Тип последовательности замыкания

Какой правильный тип последовательности? У меня есть этот код:

(defrecord MethodInfo [^clojure.lang.ISeq preconds ^clojure.lang.ISeq postconds])

Но, похоже, он не обеспечивает должного соблюдения требований к типу, так как я могу написать (new MethodInfo 1 2),

1 ответ

Решение

Насколько я понимаю, подсказки типа Clojure существуют только из соображений производительности, чтобы улучшить поиск методов путем обхода отражения; Это их единственное назначение, а не принудительное применение статических типов в динамическом языке.

Пожалуйста, посмотрите этот ответ на аналогичный вопрос.

Редактировать:

В некоторых случаях в Clojure 1.3 говорится о возможности применения примитивных типов возвращаемых данных, но это явно то, что постоянно меняется, и все же не будет применяться к типам последовательностей.

Другие вопросы по тегам