The other expense if Scala did it better would be separate compilation
(being able to compile X and Y separately or together and getting the same
bytecode out) unless it introduced a special Scala classloader, which I'm
pretty sure was ruled out years ago.
On Jul 20, 2012 6:15 PM, "Kevin Wright" <[email protected]> wrote:

> Scala can only do it by transforming the recursive call into a jump at
> compile time - hence the single method restriction.
>
> We *could* do better in theory, but only at the unacceptable expense of
> compatibility with other languages on the platform.
>
> If the JVM did it, however, then this wouldn't be a problem.
>
> You may also want to point your colleague in the direction of every
> improvement that John Rose has ever suggested. Fixnum's would be a pretty
> beneficial addition as well!
> On Jul 20, 2012 9:56 PM, "clay" <[email protected]> wrote:
>
>> Wow, I didn't realize Scala had already completed this. If I may ask,
>> what is the advantage of JVM level support?
>>
>> One of my Scala expert colleagues said this was the only feature he could
>> think of in addition to Jigsaw that was needed at the JVM level.
>>
>> On Friday, July 20, 2012 3:39:24 PM UTC-5, KWright wrote:
>>>
>>> Scala has already been doing it for quite some time now, but just within
>>> a single method.
>>>
>>> It will happen by default where possible.  If you want to be certain
>>> then use the @tailrec annotation on your method, which will force the
>>> compiler to emit an exception if it can't be done.
>>>
>>> For anything "bigger", such as tail recursing across two or more
>>> methods, you'll need something like the trampoline functionality that
>>> scalaz provides.
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Java Posse" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/javaposse/-/cdKdk3n1vu0J.
>> 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/javaposse?hl=en.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Java Posse" 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/javaposse?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" 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/javaposse?hl=en.

Reply via email to