欢迎!请在 关于 页面查看有关这一工作的更多信息。
Rich 今天在 IRC 中提到,他欢迎实现 clojure.core/range 的 reducer。既然我已经想通了如何进行迭代,我想在今晚结束前也将 range 实现。只是提前打开问题,向任何可能有兴趣的人宣布我的打算。
评论由:jasonjckn 发表
r/range 应该返回一个可序列化和可计数的对象吗?
如果是这样的话,我会在 r/repeat 上做类似的事情。
评论由:amalloy 发表
我已经概述了问题和选项的描述。我不太熟悉开发维基,弄不清楚在哪里放置这个内容。"release.next" 看起来仍与 1.4 有关的问题有关,我不知道是否应该为此创建一个新的整个类别。在找到一个更好的地方之前,它可以使用(链接: https://gist.github.1586b2460329dde1c374 文本:作为一个 gist)。
这是一个单独的补丁,总结了 Rich 建议的 "回滚" 状态:分开 r/range 和 r/iterate 函数。自从我完成了 Rich 要求的记录后,我没有听到任何反馈,因此目前没有进一步进展;如果还需要其他补丁,请告诉我。
评论者:richhickey
我不太喜欢将“extend”如 này用在新的类型上。也许这个代码有点太“避免重复”(DRY)了?此外,它在一个补丁中做了很多事情,这使得解析和接受变得困难。这增加了“Range”,切换了向量折叠的实现等。能否将它拆分成单独的条目,每个条目都基于前一个条目构建,例如,一个条目可以是:捕获向量折叠实现,以供类似事物重用。
好的,我应该在周末将其拆分开。我也会看看将“折半折叠”转换成一个由“Range”/“Vector”调用的函数,而不是一个扩展到它们的函数。
已按要求将此问题的较大补丁拆分成四个较小的条目。其他三个是:CLJ-1045、CLJ-1046 和 CLJ-992。
CLJ-1045 包含了“折半折叠”的实现,因此,只有 CLJ-1045 被接受后才能应用此补丁。此补丁不依赖于其他两个,但在此merged之前会有微小的合并冲突。
评论者:gshayban
“Range”现在是可折叠的。
我们应该关闭此条目。在 1.7 中未涉及的是可折叠方面。