[Hat] Proposal, Hierarchical module structure for tools

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Wed Oct 11 07:06:58 EDT 2006


"Neil Mitchell" <ndmitchell at gmail.com> wrote:

> > > So where would the library half of HatCover vs the program half of
> > > HatCover go?
> >
> >     HatCover     -> Tracing.Hat.Coverage
> >     HatCoverText -> Tracing.Hat.Coverage.Textual
> >     hypothetical -> Tracing.Hat.Coverage.HTML
> >     hypothetical -> Tracing.Hat.Coverage.Gtk
> 
> Hmm, I don't like that much. I'm not entirely sure about this whole
> calling console programs "Textual", they aren't, they are Console
> programs (I object to HatCoverText as well).

Well, "console" is the wrong word as well.  On a unix machine, there is
only one console, but there may be many textual terminals or terminal
emulators.

I intended the word "textual" to indicate an API that produces Strings,
not something that interacts per se with a terminal.  However, I now
realise that your objection is probably that the text strings produced
are not pure - they have ANSI terminal colour codes.  Fair enough.

        HatCoverText -> Tracing.Hat.Coverage.ANSIterm

> It also obscures the fact
> that HTML should be an API (so the Console and Gui can use it), but
> Gtk will probably be a viewer.

Well, I intended that all of these should be APIs, the ANSI coloured
text as much as the HTML.  As you say, the actual rendering of these
belongs elsewhere.  So if there is no particular role for a GTK API
for hat-cover, it should not exist as a module Tracing.Hat.Coverage.Gtk.

The rendering might therefore belong in something like
    Tracing.Hat.GtkGUI
which might use APIs from Tracing.Hat.Coverage as well as
Tracing.Hat.Observe, and numerous others as well.

Regards,
    Malcolm


More information about the Hat mailing list