Algorithmic debugging for lazy functional languages
1992 (English)In: Programming Language Implementation and Logic Programming, Springer Berlin/Heidelberg, 1992, 385-399 p.Conference paper (Refereed)
Lazy functional languages have non-strict semantics and are purely declarative, i.e. they support the notion of referential transparency and are devoid of side effects. Traditional debugging techniques are, however, not suited for lazy functional languages since computations generally do not take place in the order one might expect. Since algorithmic debugging allows the user to concentrate on the declarative aspects of program semantics, and will semi-automatically find functions containing bugs, we propose to use this technique for debugging lazy functional programs. In this paper we present an algorithmic debugger for a lazy functional language and some experience in using it. Because of the non-strict semantics of lazy functional languages, arguments to functions are in general partially evaluated expressions. The user is, however, usually more concerned with the values that these expressions represent. We address this problem by providing the user with a strictified view of the execution trace whenever possible.
Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 1992. 385-399 p.
Lecture Notes in Computer Science, ISSN 0302-9743 (print), 1611-3349 (online) ; 631
Electrical Engineering, Electronic Engineering, Information Engineering
IdentifiersURN: urn:nbn:se:liu:diva-110084DOI: 10.1007/3-540-55844-6_149ISBN: 3-540-55844-6OAI: oai:DiVA.org:liu-110084DiVA: diva2:742691
4th International Symposium, PLILP'92, Leuven, Belgium, August 26–28, 1992