© University of Kent - Contact | Feedback | Legal | FOI | Cookies
Replacing unevaluated parts in the traces of functional programs
Yong Luo and Olaf Chitil
Technical report 7-07, University of Kent, Computing Laboratory, UK, August 2007.Abstract
In non-strict functional programming languages such as Haskell, it happens often that some parts of a program are not evaluated because their values are not demanded. In practice, those unevaluated parts are often replaced by a placeholder (e.g. _) in order to keep the trace size smaller. In the process of algorithmic debugging, one needs to answer several questions in order to locate a program fault. Replacing unevaluated parts makes these questions shorter and semantically clearer. In this paper, we present a formal model of tracing in which unevaluated parts are replaced by the symbol _. The most important property, the correctness of algorithmic debugging, is proved.
Download publication 382 kbytes (PDF)Bibtex Record
@techreport{2643,
author = {Yong Luo and Olaf Chitil},
title = {Replacing unevaluated parts in the traces of functional programs},
month = {August},
year = {2007},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2007/2643},
publication_type = {techreport},
submission_id = {19512_1201810582},
type = {Technical report},
number = {7-07},
address = {UK},
institution = {University of Kent, Computing Laboratory},
}