A gentle introduction to Haskell
ACM SIGPLAN Notices - Haskell special issue
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Algorithmic Program DeBugging
Debugging in a side effect free programming environment
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Tracing piece by piece: affordable debugging for lazy functional languages
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Adding Traces to a Lazy Monadic Evaluator
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
HsDebug: debugging lazy programs by not being lazy
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Practical aspects of declarative debugging in Haskell 98
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger
Journal of Functional Programming
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Dynamic slicing based on redex trails
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Searching for deadlocks while debugging concurrent haskell programs
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Divide-and-query and subterm dependency tracking in the mercury declarative debugger
Proceedings of the sixth international symposium on Automated analysis-driven debugging
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
A Framework for Interpreting Traces of Functional Logic Computations
Electronic Notes in Theoretical Computer Science (ENTCS)
WinHIPE: an IDE for functional programming based on rewriting and visualization
ACM SIGPLAN Notices
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Dynamic slicing of lazy functional programs based on redex trails
Higher-Order and Symbolic Computation
Comprehending finite maps for algorithmic debugging of higher-order functional programs
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Debugging Lazy Functional Programs by Asking the Oracle
Implementation and Application of Functional Languages
A Technique to Build Debugging Tools for Lazy Functional Logic Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
A program transformation for tracing functional logic computations
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Declarative diagnosis of missing answers in constraint functional-logic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Controlling search space materialization in a practical declarative debugger
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
Source-Based trace exploration
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Declarative debugging with buddha
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Simplifying questions in maude declarative debugger by transforming proof trees
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.00 |
Lazy functional languages are declarative and allow the programmer to writeprograms where operational issues such as the evaluation order are leftimplicit. This should be reflected in the design of debuggers for suchlanguages to avoid burdening the programmer with operational details, e.g.concerning the actual evaluation order. Conventional debugging techniques tendto focus too much on operational aspects to be suitable in this context. Arecord of the execution that only captures the declarative aspects of theexecution, leaving out operational details, would be a viable basis fordebugging lazy functional programs. Various declarative debugging tools couldthen be developed on top of such records. In this paper we propose a structurewhich we call the Evaluation Dependence Tree (EDT) for this purpose, and wedescribe two different construction methods. Performance problems arediscussed along with possible solutions.