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

欢迎!请查看关于页面以获取更多有关如何使用本网站的信息。

0
编译器

有可能会破坏编译器,使得向量在语句位置时发出错误(我不小心做了这件事)。这并不会破坏Clojure测试套件的任何部分,但它确实会破坏有效的Clojure代码(对我而言它破坏了taoensso的encore)。向测试套件添加测试以便捕获这类缺陷。

8 答案

0

评论由:[email protected]发表

这里也需要做编译器的更改吗?

0

评论由:alexmiller发表

我认为他是在说编译器没有问题,但如果它有问题,没有任何测试会告诉你。

0

评论由:michaelblume发表

是的,就是这样。

0

评论由:jafingerhut发表

Clojure编译器接受“代码”这样的组合是意外吗?如果我在项目中看到这种Clojure代码,我会认为它是一个错误。

0
by

评论由:alexmiller发表

在我看来,这似乎应该是有效的代码(尽管除非它是体内的最后一个表达式,否则没有多少理由这样做)。

0
by

评论由:jafingerhut发表

(链接:脸红) 当然,这应该在返回位置有效,因为返回这种向量或映射。在返回位置之外的是那个看起来有些古怪的东西,但你所说的,编译器没有必要拒绝它。

0
by

评论由:alexmiller发表

请注意,集合的元素将被评估,因此由集合中的代码引发的外部效应将被执行。

`
user=> (let []

     [(future (println "hi")) (future (println "there"))] 
     1)

hi
there
1
`

0
by
参考:https://clojure.atlassian.net/browse/CLJ-1776(由michaelblume报告)
...