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

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

0
ClojureScript

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

不会对{{xs}}参数进行类型推断。如果我们将其推断为{{seq}}类型,则可以发出未检查的{{if}}。 (这种代码的例子在{{str}}的变长arity中包括不必要的检查。)

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

cljs.user=> (fn [& xs] (+ xs 1)) WARNING: cljs.core/+, 所有参数必须是数字,获得了[序列 数字],行 1 <cljs repl>

3 个答案

0

评论人:mfikes

CLJS-2961.patch通过CI和Canary测试,并且在编译Coal Mine时没有显示编译器变慢。

0

评论人:mfikes

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

0
...