Re: GUI for Hat
Olaf Chitil <[email protected]> Fri, 28 Jul 2006 20:37:57 +0100
| Newsgroups | gmane.comp.lang.haskell.hat |
|---|---|
| Message-ID | <[email protected]> |
Hi Pete, great to see another person working on a GUI for Hat. I'd be a bit more careful with the problem description. Many of the tools are linked together, you can call one from the other. This is actually a very modular approach. Second, it is not immediate that a GUI makes a tool easier to learn or to use. The idea of a tool still needs to be understood and in how far is a GUI easier to use? Nonetheless, there is certainly the problem that the current text tools don't work under Windows and a GUI is more attractive for many users. And I'm sure mouse input and graphics can make a tool easier to use, but that needs more thought. You list a lot of tools; several of which seem to be new. I'd concentrate on one or very few. Getting one that works really well is better than several half-working. Still, as Neil said, first providing a GUI for a simple existing one may be good practice to start going. Much success, ciao, Olaf Peter Nuttall wrote: >Hello all, > >I'm doing my dissertation on writing a GUI for hat, and Neil Mitchell >suggested I send a mail saying what i was planning to see if you guys >had any good ideas or comments. This is the proposal: > >The problem > >Hat provides a easy way to generate a trace, and various tools have >been developed to examine the traces produced by it. However, these >tools have two main flaws: They are hard to learn and use and they are >not linked together. Ideally we would like hat to be as easy to use as >possible. This way it can both be used to debug real programs by Haskell >programmers, but can be used as a teaching tool for beginners, so they >can see how lazy evaluation works and find simple bugs when they write >their first programs. > >The solution > >Write a graphical user interface to Hat. A clickable GUI will be easier to >use than a ncurses GUI, and will seem easier to use. The >GUI will provide the same functionality as the hat tools do already, >but it will be easier to use. This will be done by separating out the >current user interface from the functionality as much as possible, then >making the functionality into a library. As part of this, I will try and >upgrade the tools to use the new tracing library written by Tom Shackell. > >The GUI's will be implemented in GTK2HS . It will consist of a Window >with tabs for each tool. Neil Mitchell has already constructed a GUI, >and I plan to use this as a starting point. > >The tools that will be usable though the GUI will be: > >Search > >This will let the user search though all the functions called, and see >that function.s inputs and output. The UI will be based on that of JuK, >with searching using haskell.s pattern matching syntax. > >Monad > >A step over debugger for do blocks. This will be similar to normal >debuggers > >Stack. > >When loading a a trace that has terminated with an error, the GUI >will show a listing of the last functions called and their inputs and >outputs. It will collapse any loops. > >Cover > >It will use hs-colour to try and show which functions are being used >for a set of inputs. If the new tracing library is used, and it supports >taking the union of traces, this will be used to show coverage from lots >of traces. This can be tied into quickcheck. > > >Ethereal bit. > >Ethereal is a tool for examining network traffic, and my plan is to >. borrow from it's "follow TCP stream" feature, which shows you all the >traffic in a stream, and lets you see messages and replies. It will >show text moving in and out of handles, and display the logical time >between messages. > >Display bit. > >This will allow the user to see how redexes happen and allow the use to >see laziness in action. This will be based on hat-amin. It is dependent >on writing a good graph drawing function. > >algorithmic > >This will be a normal algorithmic debugger, though I haven.t thought >of how it will work in a GUI. > >Any suggestions, comments? > >Pete > > > >_______________________________________________ >Hat mailing list >[email protected] >http://www.haskell.org/mailman/listinfo/hat > >