[MacRuby-devel] [MacRuby] #528: Improve Tail Call Elimination

Conrad Taylor conradwt at gmail.com
Fri Jan 1 19:13:28 PST 2010


Jordan, I agree that this architectural discussion doesn't need to be a part
of the enhancement request.

-Conrad

On Thu, Dec 31, 2009 at 8:39 PM, Jordan K. Hubbard <jkh at apple.com> wrote:

> I have to say - Trac seems to be a rather bad way of having architectural
> discussions.  I've been having a hard time even understanding who says what
> for the last 2-3 rounds of comments.  Wouldn't this be a better sort of
> discussion to have on the -devel mailing list, then distilling the action
> items (if any) into the Trac bug?
>
> Just a thought...  Happy New Year everyone!
>
> - Jordan
>
> On Dec 31, 2009, at 8:23 PM, MacRuby wrote:
>
> > #528: Improve Tail Call Elimination
> >
> -------------------------------------+--------------------------------------
> > Reporter:  haruki.zaemon@…          |       Owner:  lsansonetti@…
> >     Type:  enhancement              |      Status:  new
> > Priority:  minor                    |   Milestone:
> > Component:  MacRuby                  |    Keywords:  tail call
> elimination optimisation tco
> >
> -------------------------------------+--------------------------------------
> >
> > Comment(by haruki.zaemon@…):
> >
> > Replying to [comment:7 conradwt@…]:
> >> 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 at lists.macosforge.org
> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100101/a9ab54e4/attachment.html>


More information about the MacRuby-devel mailing list