欢迎!有关如何工作的更多信息,请参阅关于页面。
Rich今天在IRC中提到,他将欢迎一个clojure.core/range的reducer实现。现在我已经想通了如何做迭代,我想今晚也会把range搞定。抢先打开这个议题,以通知任何对此感兴趣的人。
评论者:jasonjckn
r/range应该返回一个可序列化和计数的值吗?
如果是这样,我将为r/repeat做同样的处理。
评论者:amalloy
我已经草拟了问题的描述和选项。我不太熟悉开发维基,因此无法确定将其放置在何处。“release.next”似乎仍然是关于1.4的问题,我不知道是否应该为此创建一个全新的类别。它目前可以使用(链接: https://gist.github.com/1586b2460329dde1c374 文本:作为一个gistent,直到找到一个更好的家园为止。
以下是汇总了Rich建议“回滚”到的状态的补丁:分别分离r/range和r/iterate函数。自从完成Rich要求我写的总结后,我没有收到任何反馈,因此目前不再取得进一步进展;如果需要除这个补丁以外的其他内容,请告诉我。
评论者:richhickey
我不太希望看到新类型中这样使用extend。也许这段代码过于DRY(Don't Repeat Yourself)?另外,它在一次修改中做很多事情,这使得它很难解析和接受。这个补丁增加了Range,切换了vector folds的实现等。能否将它拆分为单独的票项,每个票项根据前一个实现一步一步构建,例如,一个票项可以是:捕获vector fold实现,供类似的事情重复使用。
好的,我应该可以在这个周末拆分它。我还会考虑把fold-by-halves转换成一个函数,这个函数被Range/Vector使用,而不是扩展到它们上的函数。
如请求,我已经将这个问题的重大补丁拆分为四个较小的票项。其他三个是:CLJ-1045、CLJ-1046和CLJ-992。
CLJ-1045包含fold-by-halves的实现,因此这个补丁在接受CLJ-1045之前不能应用。这个票项不依赖于其他两个,但是如果在这两个之前合并,将会出现轻微的合并冲突。
评论者:gshayban
range现在是可以简化的。
我们也应该关闭这个。1.7没有覆盖的只有可折叠性方面。