clojure序列类型

clojure序列类型,clojure,static-typing,typechecking,Clojure,Static Typing,Typechecking,序列的正确类型是什么?我有以下代码: (defrecord MethodInfo [^clojure.lang.ISeq preconds ^clojure.lang.ISeq postconds]) 但是它似乎没有正确地执行类型要求,因为我可以编写(newmethodinfo 12)我的理解是Clojure的只是出于性能原因,通过侧步反射改进方法查找;这是它们唯一的目的,而不是在动态语言中强制使用静态类型 请看 编辑: 有人说可以,但这显然是在不断变化的,仍然不适用于序列类型。基本上是正确的

序列的正确类型是什么?我有以下代码:

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

但是它似乎没有正确地执行类型要求,因为我可以编写
(newmethodinfo 12)

我的理解是Clojure的只是出于性能原因,通过侧步反射改进方法查找;这是它们唯一的目的,而不是在动态语言中强制使用静态类型

请看

编辑:


有人说可以,但这显然是在不断变化的,仍然不适用于序列类型。

基本上是正确的。您可以在definterface中键入hint,生成的接口将具有正确类型的字段。不过,这完全是为了实现互操作,一般来说,不强制使用静态类型是正确的。