School of Computing

GHood - Graphical Visualisation and Animation of Haskell Object Observations

Claus Reinke

In Ralf Hinze, editor, ACM SIGPLAN Haskell Workshop, Firenze, Italy, volume 59 of Electronic Notes in Theoretical Computer Science, pages 182-196. Elsevier Science, September 2001 Preliminary Proceedings have appeared as Technical Report UU-CS-2001-23, Institute of Information and Computing Sciences, Utrecht University. Final proceedings to appear in ENTCS.

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.

Download publication 140 kbytes

Bibtex Record

@inproceedings{1341,
author = {Claus Reinke},
title = {{GHood -- Graphical Visualisation and Animation of Haskell Object Observations}},
month = {September},
year = {2001},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {Preliminary Proceedings have appeared as Technical Report UU-CS-2001-23, Institute of Information and Computing Sciences, Utrecht  University. Final proceedings to appear in ENTCS.},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2001/1341},
    publication_type = {inproceedings},
    submission_id = {6072_1011976174},
    booktitle = {ACM SIGPLAN Haskell Workshop, Firenze, Italy},
    editor = {Ralf Hinze},
    volume = {59},
    series = {Electronic Notes in Theoretical Computer Science},
    publisher = {Elsevier Science},
    refereed = {yes},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014