无法检查一个值是否可归约(可以被传递到
{{reduce}})。
可以尝试使用 {{clojure.lang.IReduce}} 和 {{clojure.core.protocols/CollReduce}}
组合一些内容,但这并不令人满意
{{CollReduce}} 协议被扩展到 {{java.lang.Object}},因此
{{(satisfies? CollReduce x)}} 总是返回 true,即使对于在归约时
会抛出异常的值。
我觉得将 {{CollReduce}} 扩展到 {{Object}} 可能会有问题。
。
请注意,ClojureScript 有一个工作的 {{reduceable?}},因此似乎不会受到这个问题的影响。
。