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 上都尝试了,两个都能编译,但测试失败时抛出 ClassNotFoundException 类找不到错误 jsr166y.ForkJoinTask。

它在 Ubuntu 11.10 + Oracle JDK 1.7.0 上干净地构建并测试。

0

评论由:jasonjckn 发布

这是一个适用于所有 core.reducers 的问题。Alan Malloy 也遇到了这个问题。我试图修复它,但最终只是升级到 JDK 1.7。我不明白为什么会发生这种情况。

0

评论由:jasonjckn 发布

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

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

0

评论由:jafingerhut 发布

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

0

评论由:jasonjckn 发布

是的,你这么一说没错。我的补丁是第一个调用 r/fold 的单元测试(现有的测试都进行了非并行化 reductions)。

0

评论由:jafingerhut 发布

Stuart Halloway 将提交于2012年6月8日的 Clojure 主分支的标题为 "let reducers tests work under 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 现在可以 Reducible。

0

评论者:gshayban

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

0

评论者:alexandergunnarson

我认为将这个reducer包含进来用于并行,或者将`CollFold`扩展到`clojure.lang.Repeat`(这也许更为简洁)会是个不错的选择。

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