我习惯使用ghci来调试我的代码。经常会出现类似这样的情况(当然,可能不太明显):
ghci> let f@(_:x) = 0:1:zipWith(+)f x
ghci> length f
然后,有一段时间什么也不会发生,如果我反应不够快,ghci可能会占用2 GB的RAM导致系统冻结。如果为时已晚,解决此问题的唯一方法是按[ALT] + [PRINT] + [K]。
我的问题是:是否有一种简单的方法来限制ghci可以消耗的内存,比如说1 GB?如果超出限制,计算应该被终止或者ghci应该被关闭。