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 上尝试了,两个都能编译,但在测试期间遇到了 ClassNotFound Exception for class jsr166y.ForkJoinTask。

在我的 Ubuntu 11.10 + Oracle JDK 1.7.0 环境下构建和测试都很干净。

0

评论者:jasonjckn

这是一个影响到所有core.reducers的问题。Alan Malloy也遇到了这个问题。我尝试解决这个问题,但最终升级到 JDK 1.7。我不明白为什么会发生这种情况。

0

评论者:jasonjckn

据我所知,这个问题仅出现在mvn测试时。

当我将 clojure 包含在一个leiningen项目中,并将 jsr166y.jar 添加到lib目录中时,使用java 1.6,core.reducers可以正常工作。

0

评论者:jafingerhut

贾森,你说你在2012年5月17日的评论中提到这适用于所有的core.reducers。我不太理解。在你应用补丁之前,我可以在从git repo拉取的新鲜Clojure代码库上运行"./antsetup.sh ; ant",在之前评论中提到的任一JDK 1.6.0版本上,测试过程中没有任何错误。你是说core.reducers当前可能没有测试来模拟该问题,但是你的补丁添加了这样的测试,即使没有对代码的其他更改也会失败吗?

0

评论者:jasonjckn

是的,你说得对。现在想起来,我的补丁是第一个调用r/fold的单元测试(现有的测试执行的是非并行归约)。

0

评论者:jafingerhut

2012年6月8日,Stuart Halloway向Clojure master提交了题为"让reducers测试在ant下工作"的提交,现在即使在需要类jsr166y.ForkJoinTask的新单元测试下,2012年5月11日日期的补丁0001-repeat-for-clojure.core.reducers.patch也能正确运行,无论使用Oracle/Apple JDK 1.6还是Linux IBM JDK 1.6。

0

评论者:jasonjckn

我在贡献者名单上。这个补丁还需要吗?
很抱歉长时间没有回复。

0

评论者:jasonjckn

这个补丁应该等到http://dev.clojure.org/jira/browse/CLJ-993 提交之后再进行。我认为有一些共享代码。

0

评论者:gshayban

1.7.0版本现在可以将repeat归约

0

评论者:gshayban

我们可以关闭这个工单了吗?

0

评论者:alexandergunnarson

我认为将其包含以用于并行性将很好,或者扩展 CollFoldclojure.lang.Repeat(这或许更简洁)。

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