有时我使用iterate,但我很少需要
结果列表中的参数。
从文档中:
iterate f x == [x, f x, f (f x), ...]
尽管我可以做到,但我想知道是否有充分的理由(也许是一个自由定理)来独立于实现来设计这样的基本功能。
最佳答案
在谈论迭代函数应用程序时,定义f^0 == id
很方便,这样可以使f^m(f^n(x)) == f^(m+n)(x)
这样的身份成立
对于所有自然数m
和n
。
考虑到该定义,iterate
通过首先包含参数来满足以下标识:
iterate f x !! n == f^n x
关于haskell - 是否有理由让iterate以原始元素开头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39256410/