John Cowan wrote: > On Thu, Apr 2, 2009 at 10:36 AM, kirk <kirk.pepperd...@gmail.com> wrote: > >> why do they have to be exposed? Isn't tail recursion and implementation >> detail? And an optimization at that? >> > > No. > > Being able to rely on tail recursion is not an implementation detail; > Scheme programmers routinely write programs that tail-call heavily and > would blow up without it. A state machine implementation where state > transition codelets, expressed as functions, are tail-called by the > dispatcher and tail-call it in turn is a classic example. "Lambda: > the ultimate goto." > Understood, that said I think Patrick hit the nail on the head. > And since Java exposes the call stack via Exception#fillInStack, the > *presence* of tail recursion is unfortunately not an implementation > detail either. > I would humbly disagree with this last statement.
Regards, Kirk --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to jvm-languages+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---