Haskell 中的堆栈 space 溢出错误,堆栈大小非常小

Stack space overflow error in Haskell with a very small stack size

Haskell 程序

main=main>>main

失败

2mem: Stack space overflow: current size 33624 bytes.
2mem: Use `+RTS -Ksize -RTS' to increase it.

33k 看起来很小。 OS(通过顶部)报告失败前总内存使用量为 6G。当我用 ghc -rtsopts 2mem.hs 和 运行 编译程序时,用 ./2mem +RTS -K32M 编译程序时我仍然得到同样的错误。

我在 Mac 上使用 ghc,版本 8.0.1OS 10.11.6.

为什么堆栈 space 这么小,为什么 -K32M 不增加它?

这是 GHC 中的一个错误;消息中报告的堆栈大小是错误的。请参阅 https://ghc.haskell.org/trac/ghc/ticket/10445 并感谢您注意到它实际上并未修复。