How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger

  • Authors:
  • Henrik Nilsson

  • Affiliations:
  • Department of Computer Science, Yale University, CT, USA/ (e-mail: nilsson@cs.yale.edu)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article describes the implementation of a debugger for lazy functional languages like Haskell. The key idea is to construct a declarative trace which hides the operational details of lazy evaluation. However, to avoid excessive memory consumption, the trace is constructed one piece at a time, as needed during a debugging session, by automatic re-execution of the program being debugged. The article gives a fairly detailed account of both the underlying ideas and of our implementation, and also presents performance figures which demonstrate the feasibility of the approach.