它们都是关于构建迭代函数的,但这些函数在这两个项目中都没有被调用过。
Alex,我想澄清一下,这是不正确的。实际上,Meander确实通过生成的宏代码使用`iter`函数在某些情况下更容易实现一些语义(更简单的代码生成)。虽然我现在意识到可以使用没有`iter`的方式来实现这个功能,但在当时我没有那种解决方案,而`iter`解决了我的问题。
你承认这些情况存在,这也是一些Clojure内部没有被“隐藏”的原因。你承认Wilker提供的`iter`的JVM实现是“完美的”。然而,你认为它不应该成为公共API的一部分,但这不是一个好主意,但你没有给出明确的原因为什么你有这样的想法。
我认为`iterator`不是一个应该被广泛使用或推广的函数。
我同意。核心中存在许多不常使用且没有推广的函数,但它们仍然被提供,因为它们的实用性。换句话说,推广的可能性或广泛的用途范围不能成为排除`iter`的原因。
迭代器在总体上是非常不符合Clojure风格的。
这是一个排他性的、本质主义的立场。就像说,这是你的观点,伙计。:^)
Clojure包含了许多在核心库中使用“有状态和通常不适合并发”的功能的机会,如你所言,这是故意这样设计的。所以从我坐的地方看,不管“clojurey”包含什么,似乎都包括那些“不符合Clojure风格”的东西。
现在,让我问一下,一个函数在“应该”被考虑之前必须满足什么任意标准?