haskell 程序
main=main>>main
失败
2mem: Stack space overflow: current size 33624 bytes.
2mem: Use `+RTS -Ksize -RTS' to increase it.
33k 看起来很小。操作系统(通过 top)在失败前报告了 6G 的总内存使用量。当我用
ghc -rtsopts 2mem.hs
编译程序时并使用 ./2mem +RTS -K32M
运行它我还是会遇到同样的错误。我在 MacOS 10.11.6 上使用 ghc,版本 8.0.1。
为什么堆栈空间这么小,为什么不
-K32M
增加吗?
最佳答案
这是 GHC 中的一个错误;消息中报告的堆栈大小是错误的。见 https://ghc.haskell.org/trac/ghc/ticket/10445感谢您注意到它实际上并未修复。
关于haskell - Haskell 中的堆栈空间溢出错误,堆栈大小非常小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40920788/