2024 Clojure状态调查!中分享你的想法。

欢迎!请在关于页面了解更多这个问答系统的工作方式。

0
Clojure

我在处理clojure.core/repeat归约器。

12 个回答

0

评论者: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 上尝试过,两者都能编译,但在测试期间会因为找不到类 jsr166y.ForkJoinTask 而失败。

它在我的 Ubuntu 11.10 + Oracle JDK 1.7.0 上构建和测试得很顺利。

0

评论者:jasonjckn

这是一个影响 core.reducers 所有项目的问题。Alan Malloy 也遇到了这个问题。我尝试修复它,但最后还是升级到了 JDK 1.7。我不明白为什么会出现这种情况。

0

评论者:jasonjckn

据我所知,这个问题仅限于 mvn test。

当我将 clojure 包含在一个 Leiningen 项目中,并在 lib 目录中添加 jsr166y.jar,core.reducers 在 java 1.6 的情况下可以正常工作。

0

评论者:jafingerhut

Jason,你说它适用于你2012年5月17日的评论中提到的所有core.reducers。我不明白。在不应用你的补丁的情况下,我可以在任何提到的前JDK 1.6.0版本上运行一个全新的Clojure git仓库中的"./antsetup.sh ; ant",测试过程中不会出现任何错误。你是说core.reducers目前还没有测试来锻炼当前的问题,但你的补丁添加了这样的测试,即使在代码没有其他更改的情况下也会失败吗?

0

评论者:jasonjckn

是的,你这么一说,我的补丁是第一个调用r/fold的单元测试(现有的测试进行的是非并行归约)。

0

评论者:jafingerhut

随着Stuart Halloway于2012年6月8日提交给Clojure master的关于"让reducers测试在ant下工作"的提交,补丁0001-repeat-for-clojure.core.reducers.patch,日期为2012年5月11日,现在在Oracle/Apple JDK 1.6和Linux IBM JDK 1.6下运行正确,甚至包括需要jsr166y.ForkJoinTask的新单元测试。

0

评论者:jasonjckn

我在贡献者名单上。这个补丁还需要吗?
抱歉延迟这么久。

0

评论者:jasonjckn

此补丁应等待http://dev.clojure.org/jira/browse/CLJ-993获得提交。我认为有一些共享代码。

0

评论者:gshayban

现在在1.7.0中,repeat是可归约的。

0

评论者:gshayban

能否关闭这个工单?

0

由:alexandergunnarson 发表的评论

我认为将其包含在并行处理的目的中会很好,或者将 CollFold 扩展到 clojure.lang.Repeat(这也许更简洁)。

0
参考: https://clojure.atlassian.net/browse/CLJ-994(由jasonjckn 报告)
...