> 两者都是关于构建一个迭代器函数,这两个函数在该项目中从未被调用过。
亚历克斯,我想澄清这一点是错误的。Meander确实通过生成的宏代码使用了`iter`函数来在一些情况下更容易地实现一些语义(更简单的代码生成)。虽然我后来意识到不需要使用`iter`就能实现这一点,但是当时我没有这种解决方案,而`iter`解决了我的问题。
你承认这些情况存在,这也是一些Clojure内部组件没有被“锁起来”的原因。你承认威尔克提供的`iter`的JVM实现“非常好”。但是你并不认为它应该是公共API的一部分,或者认为这不是一个好主意,但你没有给出明确的理由。
> 我认为`iterator`不是一个应该广泛使用或推广的函数。
我同意。核心库中存在许多不广泛使用且未被推广的函数,但它们仍然存在,因为它们有其自身的用途。换句话说,推广度或使用广度不能成为排除`iter`的原因。
> 总体来说,迭代器在Clojure中并不常见。
这是一个排他性和本质主义的立场。就像你的观点,伙计。:^)
Clojure在核心库中提供了许多使用“有状态的并且通常不适用于并发”的机会,正如你所指出的,它故意使这些功能可访问。因此,无论“clojurey”包括什么,从我的角度来看,它似乎包括那些“不 clojurey”的东西。
现在,让我问一个问题,一个函数在被认为是应该使用之前必须满足哪些任意标准?