我编写了一个 haskell 程序,它可以处理 10000 件事情。现在,只是为了它,我用一百万运行它并得到了一个stack space overflow
.
我知道 foldr/foldl 问题以及可能由懒惰引起的问题,但我目前不知道我的代码是哪一段导致了这种情况。
解决此类问题的好方法是什么?
我编写了一个 haskell 程序,它可以处理 10000 件事情。现在,只是为了它,我用一百万运行它并得到了一个stack space overflow
.
我知道 foldr/foldl 问题以及可能由懒惰引起的问题,但我目前不知道我的代码是哪一段导致了这种情况。
解决此类问题的好方法是什么?
我发现Debug.Trace模块对这些事情很有用。如果没有看到您的任何代码,很难给出一个有用的示例,但是如果您查看该文档,您可能会发现一些有用的东西。
否则,我会检查您的代码是否存在可能填满调用堆栈的非尾递归。