
I know that Andy Gill was also interested in having similar facilities, perhaps he can help out.
I wonder if Andy is reading this? Possibly there are other people around who are also interested in this. I think the HAT people at NHC headquarters are also interested in these things.
Certainly a couple of us at nhc HQ are listening in. In the old Hat system, we used an impure test for WHNF. In the new Hat, it is no longer needed. The reason we could abandon it is because we moved to a scheme for writing the trace to file, using a mechanism pretty similar to how HOOD does it. However, it is worth pointing out that this means we store trace information about (potentially) every reduction that ever happens - precisely what you are trying to avoid on grounds of cost. It must be admitted that Hat currently has a significant slowdown factor when running programs, but in user tests we have no complaints yet about speed. The value of keeping the complete trace information is that, once you have it, you can ask an enormous number of questions about it, getting answers rapidly without needing to recompile or rerun the program. In the trade-off between information-richness and speed, I think your average Haskell user trying to find a tricky program fault is really hungry for all the information they can get, and will be prepared to wait a little longer provided the info is good enough.
There once was talk of starting a debugging group for Haskell, but I don't know what happened.
The mailing list debuggers@haskell.org was set up and still exists, although I don't think it has ever had any traffic. I'd be pleased to see it being used. Regards, Malcolm