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

欢迎!请查看关于页面,了解更多关于如何使用本站的信息。

+3
core.match

你好,
查看core.match生成的代码,我发现常量总是使用=进行比较。
虽然这可行,但为不同常量专门化等式比较,比如

 (number? l) `(and (number? ~ocr) (== ~l ~ocr))
 (keyword? l) `(identical? ~l ~ocr)
 (nil? l) `(nil? ~ocr)
 (true? l) `(true? ~ocr)
 (false? l) `(false? ~ocr)
 (string? l) `(.equals ~l ~ocr)

(将片段添加到LiteralPattern的cond中。

粗略的基准测试表明这比=快,而且所有测试也通过了。

你认为这值得创建补丁吗?

登录注册来回答这个问题。

...