Title
Debugging in Applicative Languages
Abstract
Applicative programming languages have several properties that appear to make debugging difficult. First, the absence of assignment statements complicates the notion of changing a program while debugging. Second, the absence of imperative input and output makes it harder to obtain information about what the program is doing. Third, the presence of lazy evaluation prevents the user from knowing much about the order in which events occur. Some solutions to these problems involve nonapplicative extensions to the language. Fortunately, the same features of applicative languages that cause problems for traditional debugging also support an idiomatic applicative style of programming, and effective debugging techniques can be implemented using that style. This paper shows how to implement tracing and interactive debugging tools in a purely applicative style. This approach is more flexible, extensive and portable than debugging tools that require modification to the language implementation.
Year
DOI
Venue
1988
10.1007/BF01806168
Lisp and Symbolic Computation
Keywords
Field
DocType
lazy evaluation,programming language
Programming language,Shotgun debugging,Rubber duck debugging,Computer science,Lazy evaluation,Interactive debugging,Input/output,Tracing,Algorithmic program debugging,Debugging
Journal
Volume
Issue
Citations 
1
2
20
PageRank 
References 
Authors
2.52
9
2
Name
Order
Citations
PageRank
John T. O'Donnell19019.59
Cordelia V. Hall219120.90