我习惯于使用 ghci 调试我的代码。通常,会发生这样的事情(当然不是那么明显):
ghci> let f@(_:x) = 0:1:zipWith(+)f x
ghci> length f
然后,一段时间内什么都没有发生,如果我反应不够快,ghci 可能会吃掉 2 GB 的 RAM,导致我的系统死机。如果为时已晚,解决此问题的唯一方法是 [ALT] + [PRINT] + [K]。
我的问题:有没有一种简单的方法来限制 ghci 可以消耗的内存,比如说 1 GB?如果超出限制,则应该终止计算或终止 ghci。