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 类的 ClassNotFoundException。

它在我的 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 目录时,core.reducers 在 java 1.6 上正常运行。

0

评论由:jafingerhut 发布

杰森,你说在你的2012年5月17日的评论中提到了这适用于所有的 core.reducers。我不明白。在没有应用你的补丁之前,我可以在从 Clojure git 仓库中新鲜拉取的 JDK 1.6.0 任何一个版本上运行 "./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日,现在能够在需要类 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将会很好,或者将CollFold扩展到clojure.lang.Repeat(这也许更简洁)。

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