2024年Clojure普查调查!中分享您的想法。

欢迎!请查看关于页面,了解更多有关该功能的信息。

0 投票
ClojureScript

(fn [& xs] (if xs 1 2))

不推断{{xs}}参数的类型。如果我们将其推断为{{seq}}类型,则可以发出不经检查的{{if}}输出。(这样的代码示例是{{str}}的变长参数中不必要的检查。)

尽管这种变化对性能影响不大,但它可以稍微减小生成的代码大小,并有助于对错误代码进行更好的诊断。

cljs.user=> (fn [& xs] (+ xs 1)) 警告:cljs.core/+, 所有参数必须是数字,第1行获得了[seq number]类型而不是数字类型 <cljs repl>

3 答案

0 投票

由mfikes发表的评论:

CLJS-2961.patch通过了CI和Canary,并在编译Coal Mine时没有显示任何编译器减速。

0 投票

由mfikes发表的评论:

将CLJS-2961.patch添加到Patch Tender (i)

0 投票
...