
On 29 Jan 2008, at 1:28 AM, Neil Mitchell wrote:
Hi Adrian,
The "bug" is in ghc stack management. Why is it so important that the stack size is arbitrarily limited?
It's not, but it makes some things easier and faster. A better question is why is it important for the stack to grow dynamically. The answer is that its not.
It's just an intermediate data structure, no different from any other intermediate data structure you may build on the heap (well apart from it's efficiency). But I guess we would be in danger of having our programs run too fast if folk were silly enough to make use of the stack.
In C putting something on the stack is massively more efficient than putting it on the heap. In Haskell, there is nearly no difference, and I can imagine some situations where the heap is actually faster.
http://www.cs.princeton.edu/~appel/papers/45.ps is the traditional cite here, no? jcc