:set +r doesn't work for interpreted modules
I expect
a = trace "a" 1
and then evaluating a repeatedly to show: "a" 1
as a result. ghci seems to do this, but with larger programs this doesn't appear to happen.
I guess it's an implementation detail in that expressions don't "need" to be evaluated twice, but for debugging purposes it's vital that it does.
I want that the first run of an algorithm produces the same trace as any subsequent one. Especially when one uses the 6.7 debugger this is an issue. Essentially, I need to load another module first and then the module I am interested in and then set the breakpoints again. This is a UI nightmare.
The option +r "revert top-level expressions after each evaluation" seems to indicate that should do what I want, but it doesn't.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
Edited by Simon Marlow