© 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}, }