haskell - Haskell 中的堆栈空间溢出错误,堆栈大小非常小

标签 haskell stack-overflow

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/

相关文章:

function - 如何仅传递其中一侧作为参数 Haskell

haskell - Haskell不从getLine返回

c - 有没有办法增加堆栈大小/递归限制?

Scala 的 Stream 和 StackOverflowError

来自 ghci 的 Haskell 命令行帮助

haskell - 如何使用 Lenses 对处于某种状态的序列执行只读的 monadic 操作?

java - 具有太多 Observable 的 RxJava1 StackOverflow 异常

c# - 堆栈溢出异常 (C#)

c# - 查询对象时 linq to sql + stackoverflow 异常

haskell - 如何使用 "nix search"搜索 Haskell 软件包?