Debugging for a declarative programming language
J W Lloyd · 2000
Abstract This paper investigates debugging in declarative programming languages, concentrating specifically on the integrated functional and logic programming language Escher. The Escher language has types and modules, higher-order and meta-programming facilities, and declarative input/output. It also has a collection of system modules, providing numerous operations on standard data types such as integers, lists, characters, strings, sets, and programs. After a brief introduction to the Escher language, a framework for declaratively debugging Escher programs is presented and an implementation of this framework is illustrated by an example. The paper concludes with a discussion of the practicalities of declarative debugging and some open problems.