Formally based profiling for higher-order functional languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Algorithmic Program DeBugging
The Evaluation Dependence Tree as a Basis for Lazy FunctionalDebugging
Automated Software Engineering
Tracing Lazy Functional Computations Using Redex Trails
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
ViMer: a visual debugger for mercury
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
A demand-driven narrowing calculus with overlapping definitional trees
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive 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
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
A program transformation for tracing functional logic computations
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Run-time profiling of functional logic programs
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
A virtual machine for functional logic computations
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
A Technique to Build Debugging Tools for Lazy Functional Logic Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
This paper is part of a comprehensive approach to debugging for functional logic languages. The basic idea of the whole project is to trace the execution of functional logic programs by side effects and then give different views on the recorded data. In this way well known debugging techniques like declarative debugging, expression observation, redex trailing but also step-by-step debuggers and cost center oriented symbolic profiling can be implemented as special views on the recorded data. In addition, creating new views for special debugging purposes should be easy to implement. This is where the contribution of this work sets in. We describe how the recorded data is interpreted and preprocessed in order to yield an extremely simple yet versatile interface to base the different views on. Using this interface, formulating the basic functionality of declarative debugging, for example, is a matter of a few lines.