欢迎!请参阅关于页面以获取更多有关如何使用该作品的信息。
可能破坏编译器,使得向量在语句位置发出错误(我无意中做了这件事)。这不会破坏Clojure测试套件的任何部分,但它会破坏有效的Clojure代码(对我来说它触发了taoensso的encore)。向测试套件添加测试,以便捕获此类缺陷。
评论由:[email protected]发表
这里也需要编译器改动吗?
评论由:alexmiller发表
我认为他是在说编译器没有问题,如果没有的话,任何测试都不能告诉你。
评论由:michaelblume发表
是的。
评论由:jafingerhut发表
Clojure编译器接受这种'代码'是一个意外?如果我在一个项目中看到这样的Clojure代码,我会认为这是一个错误。
在我看来,这似乎应该是有效代码(尽管除非它是主体中的最后一个表达式,否则没有太多理由这样做)。
(链接:脸 désespéré) 当然,在返回位置应该有效,因为返回这种向量和映射。离开返回位置的是那个奇怪的东东,但正如你所说的,没有理由编译器应该拒绝它。
请注意,集合的元素将被评估,因此由集合中的代码触发的副作用将被执行。
`user=> (let []
`
[(future (println "hi")) (future (println "there"))] 1)
hithere 1 `