Abstract
In this paper we compare three systems for tracing and debugging Haskell programs: Freja, Hat and Hood. We evaluate their usefulness in practice by applying them to a number of moderately complex programs in which errors had deliberately been introduced. We identify the strengths and weaknesses of each system and then form ideas on how the systems can be improved further.
http://www.ida.liu.se/~henni
http://www.cs.york.ac.uk/fp/ART
http://www.haskell.org/hood
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Simon P Booth and Simon B Jones. Walk backwards to happiness-debugging by time travel. Technical Report Technical Report CSM-143, Department of Computer Science and Mathematics, University of Stirling, 1997. This paper was presented at the 3rd International Workshop on Automated Debugging (AADEBUG’97), hosted by the Department of Computer and Information Science, Linköping University, Sweden, May 1997.
Andy Gill. Debugging Haskell by observing intermediate data structures. In Proceedings of the 4th Haskell Workshop, 2000. Technical report of the University of Nottingham.
Simon B. Jones and Simon P. Booth. Towards a purely functional debugger for functional programs. In Proceedings Glasgow Workshop on Functional Programming 1995, Ullapool, Scotland, July 1995.
Lee Naish and Tim Barbour. Towards a portable lazy functional declarative debugger. In Proc. 19th Australasian Computer Science Conference, January 1996.
Henrik Nilsson. Declarative Debugging for Lazy Functional Languages. PhD thesis, Linköping, Sweden, May 1998.
Henrik Nilsson. Tracing piece by piece: affordable debugging for lazy functional languages. In Proceedings of the 1999 ACM SIGPLAN International Conference on Functional Programming, pages 36–47. ACM Press, 1999.
Henrik Nilsson and Jan Sparud. The evaluation dependence tree as a basis for lazy functional debugging. Automated Software Engineering: An International Journal, 4(2):121–150, April 1997.
Alastair Penney. Augmenting Trace-based Functional Debugging. PhD thesis, Department of Computer Science, University of Bristol, September 1999.
Simon L. Peyton Jones, John Hughes, et al. Haskell 98: A non-strict, purely functional language. http://www.haskell.org, February 1999.
Bernard Pope. Buddha: A declarative debugger for Haskell. Technical report, Dept. of Computer Science, University of Melbourne, Australia, June 1998. Honours Thesis.
Jan Sparud and Colin Runciman. Complete and partial redex trails of functional computations. In C. Clack, K. Hammond, and T. Davie, editors, Selected papers from 9th Intl. Workshop on the Implementation of Functional Languages (IFL’97), pages 160–177. Springer LNCS Vol. 1467, September 1997.
Jan Sparud and Colin Runciman. Tracing lazy functional computations using redex trails. In H. Glaser, P. Hartel, and H. Kuchen, editors, Proc. 9th Intl. Symposium on Programming Languages, Implementations, Logics and Programs (PLILP’97), pages 291–308. Springer LNCS Vol. 1292, September 1997.
Philip Wadler. Functional programming: Why no one uses functional languages. SIGPLAN Notices, 33(8):23–27, August 1998. Functional programming column.
R. D. Watson. Tracing Lazy Evaluation by Program Transformation. PhD thesis, Southern Cross, Australia, October 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chitil, O., Runciman, C., Wallace, M. (2001). Freja, Hat and Hood - A Comparative Evaluation of Three Systems for Tracing and Debugging Lazy Functional Programs. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_11
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive