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

Reply via email to