
Hi
Yes, it matters a great deal. We have reserved the 'Hat' top-level namespace for the exclusive use of trace-transformed programs. No-one should ever use that namespace intentionally for anything else.
Fair enough, seems reasonable. Although then I wonder if we need the "Hat" part, just Tracing.Observe should be enough, since its just as unique, and its in the Hat repo so makes it clear enough.
My suggestion would be just to drop that part. So, e.g.
Tracing.Hat.Observe Tracing.Hat.Trail Tracing.Hat.SExp Tracing.Hat.HighlightStyle
It would be nice to indicate in some way "this exports some gunk that happened to be useful", and "this exports a nice clean API that I expect to be used" - although I guess that can go in the documentation. I still think its nice to have a some sort of classification as to what libaries are "general Haskell libraries" and which are "Hat Tracing stuff" - for example Tracing.Hat.HighlightStyle isn't really anything to do with Hat or Tracing. However, what you propose is close enough that I'm not overly fussed and would happily accept it. Thanks Neil