2

我从这个博客了解了尾调用优化(TCO)的概念:给我唱一首 Stack Overflow 之歌:音乐尾调用优化

进入这个概念(或“功能”或“优化技术”),我开始知道在 python 中使用 TCO 并不是一种 Python 的方式,正如 Guido 解释的那样:

http://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html http://neopythonic.blogspot.com/2009/04/final-words-on-tail-calls.html

进一步检查后发现 James Tauber 的博客讨论了 James Tauber 的Thunks、Trampolines 和 Continuation 传递 Thunks、Trampolines 和 Continuation 传递

James Tauber 展示了如何使用 Thunks、Trampolines 和 Continuation 传递来解决递归函数的堆栈调用问题,但解释有些难以掌握。

所以,这里有一些我想澄清的问题:

  1. 这里的任何人都可以对这些概念提供一个可以理解的解释吗?
  2. 这个概念是试图在 python 中实现 TCO 还是与 TCO 不同?
  3. 由于 Guido 将 TCO 称为not a pythonic way因为 TCO 没有给出适当的回溯,那么这个概念是否Thunks, Trampoline and Continuation passing满足保留回溯的要求?
4

0 回答 0