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
-~----------~----~----~----~------~----~------~--~---

Reply via email to