Здравствуйте, насколько я понял в haskell (и других функциональных языках) вместо циклов используется рекурсия. Тогда вопрос: что там с переполнением стека? Если у меня, например, есть поток, работающий вечно, или просто некое действие нужно повторить много раз (рекурсия, внутри которой еще несколько рекурсивных функций), то разве моя программа не умрет от переполнения стека?