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

欢迎!请查看关于页面获取更多关于此功能的信息。

0
ClojureScript

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

对于{{xs}}参数不会推断任何类型。如果我们将其推断为{{seq}}类型,则可以发出未检查的{{if}}。 (这种代码的一个示例是{{str}}的可变参数数量中不必要的检查。)

虽然这种改动不会对性能产生重大影响,但它可以略微减少生成的代码大小,并有助于对错误代码进行更好的诊断。

cljs.user=> (fn [& xs] (+ xs 1)) 警告: cljs.core/+, 所有参数都必须是数字,但在第1行获得了[序列 数字]代替 <cljs repl>

3 个答案

0

由:mfikes 发表评论

CLJS-2961.patch 通过 CI 和 Canary,编译 Coal Mine 时没有显示编译器速度减慢。

0

由:mfikes 发表评论

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

0
...