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

欢迎!请在 关于 页面查看有关这一工作的更多信息。

0
Clojure

Rich 今天在 IRC 中提到,他欢迎实现 clojure.core/range 的 reducer。既然我已经想通了如何进行迭代,我想在今晚结束前也将 range 实现。只是提前打开问题,向任何可能有兴趣的人宣布我的打算。

24 答案

0

评论由:jasonjckn 发表

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

如果是这样的话,我会在 r/repeat 上做类似的事情。

0

评论由:amalloy 发表

我已经概述了问题和选项的描述。我不太熟悉开发维基,弄不清楚在哪里放置这个内容。"release.next" 看起来仍与 1.4 有关的问题有关,我不知道是否应该为此创建一个新的整个类别。在找到一个更好的地方之前,它可以使用(链接: https://gist.github.1586b2460329dde1c374 文本:作为一个 gist)。

0

评论由:amalloy 发表

这是一个单独的补丁,总结了 Rich 建议的 "回滚" 状态:分开 r/range 和 r/iterate 函数。自从我完成了 Rich 要求的记录后,我没有听到任何反馈,因此目前没有进一步进展;如果还需要其他补丁,请告诉我。

0

评论者:richhickey

我不太喜欢将“extend”如 này用在新的类型上。也许这个代码有点太“避免重复”(DRY)了?此外,它在一个补丁中做了很多事情,这使得解析和接受变得困难。这增加了“Range”,切换了向量折叠的实现等。能否将它拆分成单独的条目,每个条目都基于前一个条目构建,例如,一个条目可以是:捕获向量折叠实现,以供类似事物重用。

0

评论由:amalloy 发表

好的,我应该在周末将其拆分开。我也会看看将“折半折叠”转换成一个由“Range”/“Vector”调用的函数,而不是一个扩展到它们的函数。

0

评论由:amalloy 发表

已按要求将此问题的较大补丁拆分成四个较小的条目。其他三个是:CLJ-1045、CLJ-1046 和 CLJ-992。

CLJ-1045 包含了“折半折叠”的实现,因此,只有 CLJ-1045 被接受后才能应用此补丁。此补丁不依赖于其他两个,但在此merged之前会有微小的合并冲突。

0

评论者:gshayban

“Range”现在是可折叠的。

0

评论者:gshayban

我们应该关闭此条目。在 1.7 中未涉及的是可折叠方面。

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