2024 Clojure状态调查!中分享您的想法。

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

0次投票
变换器

在reducer中,对map的fold有特殊的支持对于kv。考虑是否以及如何为变换器添加此支持。

3个答案

0次投票
_评论由:llasram_发表

我们没有JIRA的“取消投票”功能,但我希望注册对这一建议方案的反对票。作为一名clojure.core.reducers的重量级用户,我认为在reducing一个map时切换到k-v语义是一个严重的缺陷特性。由于只有直接应用于map的 initial transformation function才能接收k-v语义(我认为这种限制也可以转移到transformers),这种行为最常见于重新排序操作时,发现中间map现在在一系列线程化转换的中间某处导致了一个arity错误。我从未有意调用它。
0次投票

由:gshayban发表评论

Marshall,目前尚无提出的增强方案。所以没有什么可反对的!您的意见很有价值。(关于c.c.reducers,这是另一个问题——确实,该行为令人惊讶)

考虑变换器的kv支持
是否应该有一些函数能够转化以reduce-kv方式减少的函数(fn (链接:result k v))?

忽略命名
map-key
map-val
map-keyval
过滤器 - 这些可以由机器生成。您不需要为当前的每个核心转接器都有 kv 版本。一些,如 map 或 filter,可能专门适用于键并忽略值,反之亦然。

一些像 map 的转接器那样的东西在参数数量上不兼容(map 的转接器有一个可变参数的参数数量)。

0次投票
参考: https://clojure.atlassian.net/browse/CLJ-1552(由 alexmiller 报告)
...