欢迎!请参阅关于页面以获取更多关于这一工作的信息。
在LetExpr解析器中看到的recurMismatches向量
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L6062-6065
当它不是一个循环表达式时,没有必要向其中添加初始化值'false'。
我们可以这样重写
`
if(isLoop) { for (int i = 0; i < bindings.count()/2; i++) { recurMismatches = recurMismatches.cons(RT.F); } }
这是一项针对let表达式解析的小改进。
评论者:jafingerhut
丹尼斯,如果我对这个工单的理解正确,你可能会想稍微澄清一下描述。所提议的更改不会更改编译器的行为,只是在编译期间有一些小的速度提升吗?
评论者:killme2008
是的,补丁不会更改编译器的行为。所有测试都正常。
仅在检测循环特殊形式的类型不匹配时使用,对于let特殊形式不需要初始化。所以我在初始化之前添加了if(isLoop)条件。