请在2024年Clojure状态调查!中分享您的想法。

欢迎!请查阅关于页面以了解更多关于此功能的信息。

+1
编译器

Clojure中目前将有IFnIDererf等实现为接口,但在Clojurescript中它们是协议。
有没有任何计划解决这个问题不匹配的打算?

1 答案

+1

被选中
 
最佳答案

Clojure的实现是在协议存在之前创建的。ClojureScript受益于大量的回顾和不同的性能概况。

目前没有计划更改当前的实现,因为这会很困难,同时保持许多外部用户和接口实现者的性能和向后兼容性。

让我们也提到接口分派更快,接口支持原始操作。这仅在某些情况下很重要,但这些情况在基础设施层面上非常重要。
正确!尽管协议派发对于内联实现(记录/类型)是接口派发,因此在这种情况下也可以达到相同的速度。
...