:stepover ---> :steplocal, :stepmodule
authorPepe Iborra <mnislaih@gmail.com>
Mon, 27 Aug 2007 18:09:49 +0000 (18:09 +0000)
committerPepe Iborra <mnislaih@gmail.com>
Mon, 27 Aug 2007 18:09:49 +0000 (18:09 +0000)
commit3240dc3b54438e55cdbc7d449aeaaad705bbb653
tree176381e4c0b505c04ff1f0e281920de6a04d65b8
parenta27d12f02b8ab3a3222c351dcf7e9168dfe05fb0
:stepover ---> :steplocal, :stepmodule

 :stepover is declared a failed experiment.
:steplocal steps only on ticks contained in the current
top level declaration.
:stepmodule steps only on ticks contained on the current
 module.
The current top level declaration and module are with
 respect to the breakpoint we are stopped on.

 The main reason for the failure of :stepover
(apart from lacking a lexical call stack of course)
is that it fails to detect when the expression being
evaluated is "complete", i.e. there are no ticks left in it.
My assumption of the rightmost tick as the "last one",
signaling that the expression is completely evaluated,
is not true at all under laziness.
This assumption was key in the implementation of :stepover.
compiler/ghci/InteractiveUI.hs
docs/users_guide/ghci.xml