2024 年 Clojure 调查! 中分享您的见解。

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

+1
Clojure
无法检查值是否可约简(可以传递给
{{reduce}})。

可以尝试使用{{clojure.lang.IReduce}}
和{{clojure.core.protocols/CollReduce}}来拼凑一些东西,但这并不令人满意
{{CollReduce}} 协议已扩展到{{java.lang.Object}},因此
{{(satisfies? CollReduce x)}}总是返回true,即使对于在约简时
会抛出异常的值。

在我看来,将{{CollReduce}}扩展到{{Object}}可能是
一个问题。

请注意,ClojureScript有一个工作的{{reduceable?}},这似乎没有
受到此问题的影响。

4 个回答

0
_评论:glts_

我无法编辑描述,但会补充说,相同的问题也适用于“可折叠”值和{{clojure.core.reducers/CollFold}}协议。无法检查值是否可折叠。
0

评论:gshayban

我想了解其相关用例。

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