Я ни в коем случае не эксперт в этом, но я думаю, что ответ, который вы цитировали, не совсем точен.У Haskell нет простого вида стека, который есть в большинстве императивных языков, где вы можете отследить путь вызовов через программу.Из-за своей лени оценка основана на сокращении графа, которое вы можете прочитать о здесь , но вызовы все равно в конечном итоге помещаются в стек.Согласно этой странице, «стек» в исполнительном механизме GHC мало похож на лексический стек вызовов ».Так что да, есть стек, но он сильно отличается от того, который вы найдете в императивном языке, и он создан с использованием сокращения графов.