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测试。

当我将clojure包含在leiningen项目中,并将jsr166y.jar添加到lib目录中时,core.reducers在java 1.6上运行良好。

0票数

评论者:jafingerhut

Jason,你之前在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提交的commit,名为"让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 提出)
...