作者Lucemia (生の直感、死の予感)
看板Python
标题Re: [资讯] Guido 对 Tail Recursion Elimination …
时间Thu Apr 30 05:01:04 2009
※ 引述《yjc1 (..........)》之铭言:
: ※ 引述《yjc1 (..........)》之铭言:
: : http://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html
: : 解释了这麽多年来一直没把 TRE / TCO(Tail Call Opimization) 加到 python 的原因
: : 这些理由可以理解但不太能接受… 连 lua 都 support TCO 了…
: http://neopythonic.blogspot.com/2009/04/final-words-on-tail-calls.html
: 再次确认 TCO 无望,但後半段提到的 TCO 替代方案颇有趣
: 看起来还是可以硬干,只是很丑……
: 这些理由中唯一可以说服我的只有 guido 对 stack frame 不能被破坏的坚持,
: 但个人感觉 stack frame 也没那麽神圣不可侵犯。
: 而且连放到 -O 才开的方式都冠以「破坏一致性」的大义…就死心了吧…
这个之前提到过以Decorator 来做的TCO实作我觉得还OK。
有需要就加进去code里,
使用起来完全不影响原本递回本身的形式优美明白、
同时使用者也能够清楚分辨这部份有做过最佳化,
并针对自己的需要来使用。
http://code.activestate.com/recipes/474088/
http://lambda-the-ultimate.org/node/1331#comment-15165
python 语言本身就能让使用者简单扩展,
做起来也不难,我觉得不需要像C,Java那样对语法性质争议那麽多。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 154.20.36.163
※ 编辑: Lucemia 来自: 154.20.36.163 (04/30 05:05)
※ 编辑: Lucemia 来自: 154.20.36.163 (04/30 05:07)
1F:推 ykjiang:以 decorator 实做的话,我也赞成 04/30 10:12
2F:→ ykjiang:使用者也能够清楚分辨这部份有做过最佳化 04/30 10:13