2024 年 Clojure 状况调查中分享您的想法!

欢迎!请查看 关于页面 以获取更多关于如何使用本站的信息。

0
Clojure

Rich 今天在 IRC 中提到,他很欢迎 clojure.core/range 的减少器实现。鉴于我已经弄清楚如何进行迭代,我想在夜间结束前将 range 也完成。现在只是提前打开问题,声明我对任何人有兴趣做这个事情的计划。

24 个答案

0

该评论由: jasonjckn 制作

应该 r/range 返回一个可序列化和可计数的对象吗?

如果是这样,我也将为 r/repeat 做同样的事情。

0

该评论由: amalloy 制作

我已经草拟了问题的描述和选项。我不是很熟悉开发维基,无法确定将这个问题放在哪个位置。“release.next”看起来仍然有关 1.4 的问题,我不知道是否应该为其创建一个全新的类别。它可以在找到更好的地方之前使用(链接: https://gist.github.com/1586b2460329dde1c374 文本:作为一个摘录)。

0

该评论由: amalloy 制作

这是一个补丁,总结了 Rich 建议退回到的状态:将 r/range 和 r/iterate 函数分开。自从撰写 Rich 指定的文稿以来,我没有收到任何反馈,所以目前没有进一步进展;如果需要除了这个补丁之外的东西,请告诉我。

0
by

评论者:richhickey

我不太希望在新类型中看到这样的 extend 使用。也许这段代码过于重复?它在一个补丁文件中做了很多事情,这使其难以解析和接受。这增加了 Range,切换了向量折叠的实现等。能否将其拆分为独立的条目,每个条目构建在之前的基础上,例如,一个条目可以是:捕获向量折叠的实现以便被类似的项目复用。

0
by

该评论由: amalloy 制作

好的,我应该在周末将其拆分。我还会考虑将折半(fold-by-halves)转换为一个由 Range/Vector 调用的函数,而不是一个扩展到它们上面的函数。

0
by

该评论由: amalloy 制作

应要求,我已经将这个问题上的大型补丁拆分为四个较小的条目。其他三个是:CLJ-1045、CLJ-1046和CLJ-992。

CLJ-1045 包含了折半实施的内容,因此必须先接受 CLJ-1045 才能应用这个补丁。这个条目不依赖于其他两个,但在它们之前合并时将会有细微的合并冲突。

0
by

评论者:gshayban

range 现在是可减少的。

0
by

评论者:gshayban

应该关闭这个了。在1.7中没有提到的是可折叠方面。

0
by
参考: https://clojure.atlassian.net/browse/CLJ-993(由 amalloy 报告)
欢迎使用Clojure问答社区,在这里您可以向Clojure社区成员提问并获取答案。
...