anchor.diff:  
   And so Scala, as long as it sticks to JVM method calling semantics, also can not support this.
   
  -## A bit of light at the end of the tunnel
  +== A bit of light at the end of the tunnel
   
   Luckily, there is one special case of tail calls which Scala treats differently, and that is the case of tail recursion. If a method does a tail call to itself, it's called tail recursion, and Scala will rewrite the recursion into a loop that does not consume stack space.
   
  
positive.code: :published_at: 2016-07-15
  :hp-tags: scala, recursion, fp
  
  
  image::https://raw.githubusercontent.com/pepite/hubpress.io/gh-pages/images/ordinateur-de-bureau-pc.jpg
  
  Recursion is beautiful. As an example, let's consider this perfectly acceptable example of defining the functions `even` and `odd` in Scala, whose semantics you can guess:
  
  
negative.code: 
  The `TailRec` version from the Scala standard library is about 20% faster than our general trampoline, making it about 7 times slower than the stack version.
  
  == Source code
  
  The source code of the benchmarks (and all the code), is available on https://github.com/eamelink/scala-trampolines