我是 Haskell 的新手,在调试时我遇到了一个烦人的行为。
当我重新运行 main 时,断点不再命中,但断点没有被删除,因为 :show breaks 列出了它。有谁知道这是怎么回事吗?
我使用的是 64 位 Ubuntu 11.10。明天我将在不同的环境中对其进行测试。
谢谢
最佳答案
如果不看代码就很难知道,但听起来很可能在 main 的第二次运行中从未到达断点,因为延迟计算导致结果被缓存。第一次大概是THUNK(暂停求值),第二次就已经求值了。
https://stackoverflow.com/questions/9055662/