У меня есть такой код:
Prelude> let n = [1,2,3,4]
Prelude> n
[1,2,3,4]
Prelude> 0:n
[0,1,2,3,4]
Prelude> let n = 0:n
И когда я набираю интерпретатор Haskell после верхнего:
Prelude> n
Я получаю бесконечный результат:
[0,0,0,0,0,0,0,0,0
И где печать «0,» бесконечна.
Почему я получаю такой результат?
Есть ли какие-то рекурсивные вещи, и почему/как это работает на уровне интерпретатора?
Могу ли я отловить переполнение стека, что такое на GHCi или нет?
Спасибо,
С наилучшими пожеланиями!
n=[0,1,2,3,4]
конфликтует сn=n:0
вы не согласны? - person PyRulez   schedule 11.11.2013