Хорошо, только в F #, и вот как я это понимаю сейчас:
-
Некоторые проблемы носят рекурсивный характер (строение или чтение трестструктуры, чтобы назвать только одну), а затем вы используете рекурсию. В этих случаях вам предпочтительно использовать хвостовую рекурсию, чтобы дать стеку разрыв
-
Некоторые языки являются чисто функциональными, поэтому вам приходится использовать рекурсию вместо циклов while, даже если проблема не рекурсивна в природе.
Итак, мой вопрос: поскольку F # также поддерживает императивную парадигму, вы бы использовали хвостовую рекурсию в F # для проблем, которые не являются естественно рекурсивными? Тем более, что я прочитал, что компилятор реконструирует хвостовую рекурсию и просто преобразует ее в цикл while?
Если да: почему?