【发布时间】:2012-04-06 13:53:03
【问题描述】:
我有这样的代码:
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冲突你不同意吗?