Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

:steplocal is orders of magnitude slower than normal interpreter
## Summary It seems that calling `:steplocal` on a breakpoint to continue execution of an expression in the ghci debugger takes much much much much longer than executing that expression directly or using `:continue` rather than calling step local. Even though `:steplocal` is responsible for stopping at the next breakpoint at the same level as the current one, this slowness makes it unusable. ## Steps to reproduce `Fib.hs`: ``` module Fib where main = fib 30 fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) ``` Run two distinct GHCi sessions on `Fib.hs`. On both, `:set +s` to output statistics On the first, ``` ghci> main 832040 (1.40 secs, 921,592,600 bytes) ``` On the second, ``` ghci> :break main Breakpoint 0 activated at Fib.hs:3:8-13 ghci> main Stopped in Fib.main, Fib.hs:3:8-13 _result :: Integer = _ (0.00 secs,) [Fib.hs:3:8-13] ghci> :steplocal ... .. . ``` Haven't been able to observe it terminating with this setup. If we do `fib 20` rather than `30`, then the normal execution takes `0.04s` but the `:steplocal` one: * Doesn't say how much time it took, despite having `:set +s` * Takes roughly 6s measured with a stopwatch I suspect steplocal is doing something asymptotically worse to figure out the "local" part. ## Expected behavior `:steplocal` ought to be fast! ## Environment * GHC version used: 9.10
issue