Lightweight Computation Tree Tracing for Lazy Functional Languages

Faddegon, Maarten and Chitil, Olaf (2016) Lightweight Computation Tree Tracing for Lazy Functional Languages. In: PLDI 2016: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM Press pp. 114-128. ISBN 978-1-4503-4261-2. (doi: (Full text available)

PDF (Includes page numbers and artifact evaluation badge) - Author's Accepted Manuscript
Download (254kB) Preview
Official URL


A computation tree of a program execution describes computations of functions and their dependencies. A computation tree describes how a program works and is at the heart of algorithmic debugging. To generate a computation tree, existing algorithmic debuggers either use a complex implementation or yield a less informative approximation. We present a method for lazy functional languages that requires only a simple tracing library to generate a detailed computation tree. With our algorithmic debugger a programmer can debug any Haskell program by only importing our library and annotating suspected functions.

Item Type: Conference or workshop item (Paper)
Uncontrolled keywords: algorithmic debugging, lazy evaluation, tracing
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Olaf Chitil
Date Deposited: 10 May 2016 11:02 UTC
Last Modified: 30 Jan 2017 15:10 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year