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

欢迎!请参阅关于页面以了解有关此工作的更多信息。

+2
Clojure

Doseq 目前是执行懒序列和执行副作用的好方法。有一个对应的 transducer 宏将很棒。

方法:包含的补丁只需简单地使用提供的结果,集合,以及在每一步丢弃累积值的减少函数调用 transduce。每个减少步骤的值被绑定到提供的符号。在没有 xform 的需要但需要类似 doseq 语义的情况提供更短的参数个数。

补丁:CLJ-1523-1.patch

7 个答案

+2

我喜欢这个建议的想法,我认为它将很有用,但我同时也同意两个评论。当前的补丁引入了一个三个元素的绑定,这在某种程度上比较让人惊讶。这就是为什么我喜欢在run!中添加一个额外的xf参数的建议,即(run! proc xf coll)。这类似于into的工作方式,所以感觉比较直观。

0

评论者:wagjo

关于使 xform 参数可选的呢?并且在文档字符串示例中有一个拼写错误,将 doseq -> doreduced。

0

评论人:halgari

好的观点,已修正拼写错误,增加了其他阶数。

0

评论人:gshayban

也许可以在 run! 上增加另一个阶数。

0

评论人:michaelblume

已修正修补程序以应用于master

0

评论人:alexmiller

我真的不喜欢这种看起来像绑定的样子,可是里面还夹着一个transducer。从语法角度来看,这似乎不太可能飞起来。

0
参考:https://clojure.atlassian.net/browse/CLJ-1523(由halgari报告)
...