[Haskell-cafe] Re: Haskell maximum stack depth

Simon Marlow simonmarhaskell at gmail.com
Thu Feb 14 10:31:37 EST 2008

Adrian Hey wrote:

> I have no objection to people bounding their stack if that's their
> choice. I can't imagine why anybody who stopped to think about this
> would actually want this feature, but it's free world.
> What I object to is it being bounded by default to something other
> than overall program memory limit.

(i'm a few days behind haskell-cafe, as usual...)

There *are* some good reasons to want a stack limit, but they are only 
practical concerns.

The point is, GHC has no such thing as the "overall program memory limit" 
unless by that you mean the total amount of memory + swap in your machine. 
  You can set a limit with +RTS -M, but there isn't one by default.  So 
what happens when you write a program with a space leak is that it gobbles 
up all the memory, and turns on the hard disk light for a few minutes until 
the OS gives up and kills it.  Or at least, you hope it kills your program 
and not something else important you were doing at the time.

We used to have a default heap limit, for the reason above, but I was 
persuaded to remove it because it was too much of a pain to keep having to 
say +RTS -M<whatever> when your program ran out of memory.  So we could do 
the same with the stack limit - the only concern is whether it will be 
highly inconvenient when we accidentally write programs with infinite 
loops, which in my experience seem to occur more than space-leaky programs.

We could also set the limit a lot higher than it currently is.  Or, we 
could try to figure out how much memory is in the machine and set it based 
on that.  Basically, I don't care that much, unless it means I have to do a 
lot of work to implement it :)


More information about the Haskell-Cafe mailing list