Practical aspects of declarative debugging in Haskell 98

  • Authors:
  • Bernard Pope;Lee Naish

  • Affiliations:
  • The University of Melbourne, Parkville, Australia;The University of Melbourne, Parkville, Australia

  • Venue:
  • Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Non-strict purely functional languages pose many challenges to the designers of debugging tools. Declarative debugging has long been considered a suitable candidate for the task due to its abstraction over the evaluation order of the program, although the provision of practical implementations has been lagging. In this paper we discuss the solutions used in our declarative debugger for Haskell to tackle the problems of printing values, memory usage and I/O. The debugger is based on program transformation, although much leverage is gained by interfacing with the runtime environment of the language implementation through a foreign function interface.