Re: [資訊] Guido 對 Tail Recursion Elimination …
※ 引述《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)
推
04/30 10:12, , 1F
04/30 10:12, 1F
→
04/30 10:13, , 2F
04/30 10:13, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章