A program transformation for debugging Haskell 98

  • Authors:
  • Bernard Pope;Lee Naish

  • Affiliations:
  • The Department of Computer Science and Software Engineering, The University of Melbourne, Victoria 3010, Australia;The Department of Computer Science and Software Engineering, The University of Melbourne, Victoria 3010, Australia

  • Venue:
  • ACSC '03 Proceedings of the 26th Australasian computer science conference - Volume 16
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a source-to-source transformation of Haskell 98 programs for the purpose of debugging. The source code of a program is transformed into a new program which, when executed, computes the value of the original program and a high-level semantics for that computation. The semantics is given by a tree whose nodes represent function applications that were evaluated during execution. This tree is useful in situations where a high-level view of a computation is needed, such as declarative debugging. The main contribution of the paper is the treatment of higher-order functions, which have previously proven difficult to support in declarative debugging schemes.