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.
