GHCi debugger status
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.
More information about the Glasgow-haskell-users