欢迎!有关如何使用本站的更多信息,请参阅关于页面。
我在进行clojure.core/repeat减少器的开发。
评论者:jafingerhut
Jason,你尝试用JDK 1.6.0构建它了吗?我在Mac OS X 10.6.8 + Oracle/Apple JDK 1.6.0和Ubuntu 11.10 + IBM JDK 1.6.0上尝试了,两者都能够编译,但在测试期间遇到了ClassNotFoundException,找不到类jsr166y.ForkJoinTask。
它在Ubuntu 11.10 + Oracle JDK 1.7.0上干净地构建和测试。
评论者:jasonjckn
这是一个影响所有core.reducers的问题。Alan Malloy也遇到了这个问题。我尝试修复它,但最终升级到了JDK 1.7。我不明白为什么会发生这种情况。
据我所知,这个问题仅限于mvn test。
当我将clojure包含在leiningen项目中,并将jsr166y.jar添加到lib目录中时,在java 1.6下core.reducers运行正常。
Jason,你说在您2012年5月17日的评论中提到了这适用于所有core.reducers。我不明白。在没有应用您补丁的情况下,我在FreshClojure git仓库上运行"./antsetup.sh ; ant",在先前提到的任何JDK 1.6.0版本上都没有在测试中出现任何错误。你是在暗示core.reducers目前没有测试来检查这个问题吗,但您的补丁添加了这样的测试,即使在其他代码没有更改的情况下 also 会失败吗?
是的,你说得对。现在我提到这一点,我的补丁是第一个调用r/fold的单元测试(现有的测试做的是非并行化归约)。
随着Stuart Halloway于2012年6月8日向Clojure master分支提交的名为"让reducers测试在ant下工作"的更新,补丁0001-repeat-for-clojure.core.reducers.patch于2012年5月11日现在可以在需要类jsr166y.ForkJoinTask的Oracle/Apple JDK 1.6和Linux IBM JDK 1.6的新的单元测试下正确运行。
我在贡献者名单上。这个补丁还需要吗?抱歉延迟了这么长时间。
此补丁应等待http://dev.clojure.org/jira/browse/CLJ-993提交。我认为有些代码是共享的。
评论者:gshayban
在1.7.0中,repeat现在是可归约的
我们可以关闭这个工单吗?
评论由: alexandergunnarson 发布
我认为将其包含进来以便进行并行处理会很好,或者将 CollFold 扩展到 clojure.lang.Repeat (这也许更简洁)。
CollFold
clojure.lang.Repeat