JVM-level support would allow for tail recursion between two methods in
otherwise unrelated classes to happen.  Trampolining is a good workaround
(or even implementation technique) but at the JVM level it would likely be
a lot faster.  Right now recursive algorithms pay a prohibitive penalty on
the JVM, forcing programmers to choose between readable and fast.
On Jul 20, 2012 5: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.

Reply via email to