ndmitchell / debug

Haskell library for debugging
BSD 3-Clause "New" or "Revised" License
122 stars 7 forks source link

Refactor the default backend into a module #33

Closed pepeiborra closed 6 years ago

pepeiborra commented 6 years ago

I would like to reorganise the module structure to:

ndmitchell commented 6 years ago

Seems reasonable. I think the important thing is that we have a small number of modules, and that the way to annotate a module remains somewhat stable (a change now is fine, but we want that to be the last change, ideally).

I'm also wondering if it should be Debug.Trace.Variables and Debug.Trace.Hoed as the modules instead of Debug alone, so there is more symmetry?

pepeiborra commented 6 years ago

We would end up with 4 modules:

Imo we should keep the Debug module and ensure it is the only import required for 90% of use cases.

ndmitchell commented 6 years ago

Is Debug.Types the right name, as it will also be able to deal with manipulating a trace. It feels like Debug.TracedFileFormat or similar is the right name (not exactly that, but that kind of feeling).