Scheme requires tail-call optimisation, so if you use tail-recursion then you’ll never overflow.
Does that include tail-calls in mutual recursion? Even if you were going to return whatever your opponent’s code did, you probably couldn’t count on them doing the same.
Yes: all tail-calls are guarantied not to exhaust resources. The precise definition of what is tail is in the spec.
Scheme requires tail-call optimisation, so if you use tail-recursion then you’ll never overflow.
Does that include tail-calls in mutual recursion? Even if you were going to return whatever your opponent’s code did, you probably couldn’t count on them doing the same.
Yes: all tail-calls are guarantied not to exhaust resources. The precise definition of what is tail is in the spec.