GHCi debugger status

Simon Marlow marlowsd at gmail.com
Fri Nov 28 04:51:12 EST 2008


Peter Hercek wrote:
> Simon Marlow wrote:
>> A similar argument applies to keeping the dynamic stack.  The problem 
>> with the dynamic stack is that it doesn't look much like you expect, 
>> due to tail-calls.
> 
> Do you think people expect the tail-calls to add a stack frame to the 
> dynamic stack or is there something more complicated?

Right, I think they expect exactly that, and it'll confuse people that some 
stack frames are "missing".  Often it's not clear which calls are 
tail-calls and which are not.  Mind you, I think the fact that it's a 
dynamic call stack rather than a lexical call stack is likely to confuse 
the same set of users even more.

> I would expect a tail-call to overwrite the last stack frame on the 
> dynamic stack - just like imperative loops, which is what they 
> correspond to. Dynamic stack should correspond closely to the stack 
> which overflows when we get the "stack overflow exception". That is what 
> I would expect.

Fair enough - that at least is a data point suggesting that providing the 
dynamic call stack with no special provision for tail-calls would be useful 
to some people.

Cheers,
	Simon



More information about the Glasgow-haskell-users mailing list