2024 Clojure现状调查! 中分享您的想法。

欢迎!请参阅关于页面以了解本站的工作方式。

0
Clojure

我在处理 clojure.core/repeat reducer。

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 项目中,并将 jsr166y.jar 添加到 lib 目录时,Java 1.6 上 core.reducers 正常工作。

0

评论者:jafingerhut

Jason,你说它适用于你2012年5月17日的评论中提到的所有core.reducers。我不理解。在你没有应用补丁的情况下,我可以在新拉取的Clojure git repo中使用“./antsetup.sh ; ant”,在之前评论中提到的任何一个JDK 1.6.0版本上运行,测试期间没有出现任何错误。你的意思是core.reducers目前没有任何测试来模拟这个问题吗?但是,你的补丁添加了这样的测试,即使没有对代码进行其他修改,这些测试也会失败吗?

0

评论者:jasonjckn

是的,你说对了。现在提到这个问题,我的补丁是第一个调用r/fold(现有的测试做非并行归约)的单元测试。

0

评论者:jafingerhut

Stuart Halloway于2012年6月8日向Clojure master提交的名为“让reducers测试在ant下运行”的提交中,2012年5月11日的补丁0001-repeat-for-clojure.core.reducers.patch现在可以正确运行,即使是在需要jsr166y.ForkJoinTask的新型单元测试中,只要使用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

我认为将该reducer包含进来用于并行处理会很好,或者扩展CollFoldclojure.lang.Repeat(这可能更简洁)。

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