Я не совсем понимаю, почему бросает исключение интерпретатора Хаскеля следующее:Определение переменных в Haskell
...
Prelude> let x = 3
Prelude> x
3
Prelude> let x = x + 1
Prelude> x
*** Exception: <<loop>>
х + 1 выводит результат 4, однако, почему я не могу сохранить его обратно в х , Он работает, когда я храню его в переменной y. Может ли кто-нибудь объяснить, почему это происходит?
В Haskell * нет переменных *. Только константы. – AJFarmar
AJFarmar выше меня прав, но у вас есть 'STRef' и 'IORef'. – MasterMastic
Для чего 'x' делает' x = x + 1'? Вы думаете о бесконечности? – PyRulez