On Thu, Apr 2, 2009 at 10:36 AM, kirk <[email protected]> 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." And since Java exposes the call stack via Exception#fillInStack, the *presence* of tail recursion is unfortunately not an implementation detail either. -- GMail doesn't have rotating .sigs, but you can see mine at http://www.ccil.org/~cowan/signatures --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
