если при обработке экзепшена TailCallException будет еще один tail call и еще один экзепшен, который цепанет все тот же самый код, оно может все это и не вывезти. А может и вывезти. Кто знает?)
если при обработке экзепшена TailCallException будет еще один tail call и еще один экзепшен, который цепанет все тот же самый код, оно может все это и не вывезти. А может и вывезти. Кто знает?)
оптимизировать хвостовую рекурсию кидания исключения в конструкторе?
Продолжая отвечать на вопрос — если мы можем представить себе одну переменную, которая сможет хранить состояние нашего рекурсивного вызова — значит можно оптимизировать