Claus Reinke
GHood -- Graphical Visualisation and Animation of Haskell Object Observations
2001 ACM SIGPLAN Haskell Workshop, Firenze, Italy, 2nd September 2001 PDF

Abstract: As a possible extension to his Haskell Object Observation Debugger Hood \cite{Gill2000}, 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 \cite{Gill2000}, 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 webpages -- 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.