Clojure 2024 年调查问卷 中分享您的想法!

欢迎!请参阅 关于页面 了解更多关于如何使用本站的信息。

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

0

评论者:jafingerhut

贾森,你说在2012年5月17日的评论中,这条规则适用于所有core.reducers。我不太明白。在没有应用你的补丁的情况下,我在刚从Clojure git仓库中拉取的项目上运行"./antsetup.sh ; ant",可以在提及的JDK 1.6.0版本中的任何一个上运行,并没有在测试中遇到任何错误。你是说可能core.reducers当前还没有测试这个问题的代码,但是你的补丁添加了这样的测试,即使没有对代码做出其他更改,也会失败吗?

0

评论者:jasonjckn

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

0

评论者:jafingerhut

Stuart Halloway于2012年6月8日在Clojure master上的提交,题目为“let reducers tests work under 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报告)
欢迎来到Clojure问答社区,在这里您可以向Clojure社区成员提问并获得答案。
...