GHood - Graphical Visualisation and Animation of Haskell Object Observations

GHood - Graphical Visualisation and Animation of Haskell Object Observations

Claus Reinke.


Abstract:

As a possible extension to his Haskell Object Observation Debugger Hood, Andy Gill has described the ``dynamic viewing of structures'', stepping through observations instead of accumulating them into a static view. Starting from this idea, we have implemented and released an animation back-end for Hood, called GHood. Instead of the dynamic textual visualisation based on pretty-printing proposed in Gill's paper, our back-end features a dynamic graphical visualisation, based on a simple tree layout algorithm. This paper reviews the main aspects of Hood, gives a brief introduction to GHood's features and summarises our experience so far. The visualisation of program behaviour via animations of data structure observations has uses for program comprehension and exposition, in development, debugging and education. We find that the graphical structure facilitates orientation even when textual labels are no longer readable due to scaling, suggesting advantages over a purely textual visualisation. A novel application area is opened by the use of GHood as an applet on web pages - discussions of Haskell program behaviour, e.g., in educational online material or in explanations of functional algorithms, can now easily be augmented with graphical animations of the issues being discussed.


Available as 220K gzipped postscript or 370K PDF.