> 两者都是关于构建一个迭代函数,这些函数在上面的项目中都没有被调用过。
亚历克斯,我想澄清一点,这是不正确的。实际上,在一些情况下,Meander确实通过生成的宏代码使用`iter`函数,以使某些语义的实现更加容易(代码生成更简单)。尽管我后来发现了一个不使用`iter`来实现的机会,但在当时我没有这个解决方案,而`iter`解决了我的问题。
你承认这些情况存在,这也是一些Clojure内部函数没有“锁起来”的原因。你认可威尔克提供的`iter`的JVM实现“非常合适”。然而,你不认为它应该成为公共API的一部分,但这不是你的想法,也没有给出明确的原因。
> 我认为`iterator`不应该被广泛使用或推广
我同意。在核心中存在许多没有广泛使用也没有推广但仍然是为了便利而存在的函数。换句话说,推广的潜力或使用范围不能是排除`iter`的原因。
> 迭代器,从广义上来说,非常不符合Clojure风格。
这是一个排他性、本质主义的立场。就像,你的观点,伙计。:^)
Clojure包括许多在核心库中使用“有状态且不适合并发”的东西的机会,正如你所指出,故意使这些东西可访问。所以无论“clojurey”包括什么,从我所在的位置来看,这似乎包括那些“不符合Clojure风格”的东西。
现在,让我问一下,一个函数在“应该”被认为是“之前必须满足什么任意标准?