#528: Improve Tail Call Elimination -------------------------------------+-------------------------------------- Reporter: haruki.zae...@… | Owner: lsansone...@… Type: enhancement | Status: new Priority: minor | Milestone: Component: MacRuby | Keywords: tail call elimination optimisation tco -------------------------------------+--------------------------------------
Comment(by haruki.zae...@…): Replying to [comment:7 conra...@…]: > If you need tail call optimization, then you're definitely concerned about the wasteful calls because the goal of tail call optimization is to transform > recursive alogithm into iterative algorithm. The aim of TCO is to allow recursive algorithms to perform within a constrained stack frame. Whether you choose to implement this as re- writing the algorithm iteratively or instead throwing away the stack frame is a choice. > I guess that you're looking for something automatically done with MacRuby VM. I don't mind if it's explicit :) > It's still your requirement to implement the appropriate traversal algorithm for the data set that you're operating on. In short, one should use the best algorithm for the job and not rely so heavily on what's happening within the language's internals. And I have, twice: once recursively; then again iteratively actually make it perform. The former being MUCH simpler, the latter being horribly complex. I I'm not accusing MacRuby of being flawed, I'm merely suggesting that, as per the links posted, OO algorithms and data structures can be greatly improved by languages that support TCO. Yes, it's possible to write complex algorithms without TCO; it's also much easier to write them with it. -- Ticket URL: <http://www.macruby.org/trac/ticket/528#comment:9> MacRuby <http://macruby.org/> _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel