What is your DispatchDoctor workflow?

I wonder what ways people have found to use DispatchDoctor.jl?

I’m wondering how to wrap large sections of code. For example an entire module. Each file in my package contains a module. The most convenient is to do

@stable module ModA
...
end # module ModA

This works. But if I am using Revise, then editing any code in anyway causes an error and my prompt goes yellow and stays that way:

$(Expr(:error, "\"module\" expression not at top level"))

@stable on a module also causes @which f(x) to show line number 0.

These might be bugs, or simply the state of the package currently. I remove @stable while working on the package, so that I can use Revise. I suppose I can run it now and then.

Even though the work flow is a bit slow, it’s been useful. DispatchDoctor caught a few instabilities.

4 Likes