- A tail-call is when the last expression in a function is
a function call.
- Desirable that tail-calls not grow stack.
- This is tricky in JVM.
- Solution is to split function call into 3 parts:
- Evaluate arguments and save them and called function in well-known location.
- Return from method compiled from current function.
- Call the function using an outer driver loop.