有时我使用iterate,但我很少需要
结果列表中的参数。

从文档中:

iterate f x == [x, f x, f (f x), ...]


尽管我可以做到,但我想知道是否有充分的理由(也许是一个自由定理)来独立于实现来设计这样的基本功能。

最佳答案

在谈论迭代函数应用程序时,定义f^0 == id很方便,这样可以使f^m(f^n(x)) == f^(m+n)(x)这样的身份成立
对于所有自然数mn

考虑到该定义,iterate通过首先包含参数来满足以下标识:

iterate f x !! n == f^n x

关于haskell - 是否有理由让iterate以原始元素开头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39256410/

10-10 16:25