似乎Clojure编译器默认情况下不执行此操作:Does the Clojure compiler check if records and types implement protocols?

可以使用Lein插件吗?

最佳答案

令人惊讶的 core.typed 引入了“Clojure的可选类型系统”,正如您在official website上看到的那样。

具体来说,您可能要使用自己的defprotocol宏(from core.typed wiki):



一旦创建了installed,就可以使用lein typed check通过leiningen运行它。
明显的缺点是您必须注释您的代码。这是通过使用静态类型检查来增加代码安全性所要付出的代价。

您可能还对函数 satisfies? instance? 感兴趣。

关于clojure - 是否有Clojure编译时​​工具来检查记录或类型是否真正实现了它声称的协议(protocol)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32027613/

10-15 14:31