Inside a lambda calculus implementation for ECMASCript 6, we are trying to implement new constructs such as type tags for strong typing, and conditionals such as the
if statement by wrapping in lambdas the branches of the conditional.
General recursion can also be implemented with the Y combinator. However, when trying to implement tail recursion we get an ever-expanding stack trace. Is it even possible to do so without resorting to
while loops, which are not available in the primitives of lambda calculus? Is there a related impossibility result?