The Evaluation Dependence Tree as a Basis for Lazy Functional Debugging
作者:Henrik Nilsson, Jan Sparud
摘要
Lazy functional languages are declarative and allow the programmer to write programs where operational issues such as the evaluation order are left implicit. This should be reflected in the design of debuggers for such languages to avoid burdening the programmer with operational details, e.g. concerning the actual evaluation order. Conventional debugging techniques tend to focus too much on operational aspects to be suitable in this context. A record of the execution that only captures the declarative aspects of the execution, leaving out operational details, would be a viable basis for debugging lazy functional programs. Various declarative debugging tools could then be developed on top of such records. In this paper we propose a structure which we call the Evaluation Dependence Tree (EDT) for this purpose, and we describe two different construction methods. Performance problems are discussed along with possible solutions.
论文关键词:Declarative languages, lazy functional languages, debugging, debugger implementation
论文评审过程:
论文官网地址:https://doi.org/10.1023/A:1008681016679