我写了一个haskell程序,它可以处理10000件事情。现在,只是为了它的地狱我用一百万运行它并得到stack space overflow
。
我知道foldr / foldl问题以及可能由懒惰引起的问题,但我现在不知道我的代码中的哪一部分导致了这个问题。
攻击此类问题的好方法是什么?
答案 0 :(得分:1)
我发现Debug.Trace模块对这些事情很有用。在没有看到任何代码的情况下,很难给出一个有用的示例,但如果你查看那些文档,你可能会发现一些有用的东西。
否则,我会检查你的代码是否有非填充调用堆栈的非尾递归。