ABSTRACT
Debugging is one of the essential parts of the software development cycle. However, the usual debugging techniques used in imperative languages such as the step by step execution often are not suitable for debugging declarative programming languages. We present here a graphical debugging environment for constraint lazy functional-logic programs based on declarative debugging. The debugger displays the computation tree associated with a computation which has produced an incorrect answer, and navigates it with the assistance of the user until the error, an incorrect program rule, is found out. The debugger supports programs including equality and disequality constraints.
- M. Abengózar-Carneros et al. Toy: A multiparadigm declarative language. Version 1.0. Technical Report SIP-119/00, Universidad Complutense de Madrid, February 2002.]]Google Scholar
- R. Caballero and W. Lux. Declarative Debugging of Encapsulated Search. Electronic Notes in Theoretical Computer Science, 76, pages 1--13 2002.]]Google ScholarCross Ref
- R. Caballero, F. López-Fraguas, and M. Rodríguez-Artalejo. Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs. In Proc. FLOPS'01, number 2024 in LNCS, pages 170--184. Springer, 2001.]] Google ScholarDigital Library
- R. Caballero and M. Rodríguez-Artalejo. A Declarative Debugging System for Lazy Functional Logic Programs. Electronic Notes in Theoretical Computer Science, 64, 2002.]]Google Scholar
- R. Caballero and M. Rodríguez-Artalejo. DDT: a Declarative Debugging Tool for Functional-Logic Languages. In Proc. FLOPS'04, number 2998 in LNCS, pages 70--84. Springer, 2004.]]Google Scholar
- M. Hanus. The Integration of Functions into Logic Programming: A Survey. J. of Logic Programming 19-20. Special issue "Ten Years of Logic Programming", pages 583--628, 1994.]]Google Scholar
- M. Hanus. Curry: An Integrated Functional Logic Language (version 0.8, April 15, 2003). Available at: http://www.informatik.uni-kiel.de/~mh/curry/+, 2003.]]Google Scholar
- S. P. Jones, editor. Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, 2003.]]Google Scholar
- F. López-Fraguas, M. Rodríguez-Artalejo, and R. d. Vado-Vírseda. Constraint functional logic programming revisited. In Proc. WRLA'2004, volume 117 of Elec. Notes on Theor. Comp. Science, pages 5--50, 2004.]]Google Scholar
- H. Nilsson. How to look busy while being lazy as ever: The implementation of a lazy functional debugger. Journal of Functional Programming 11(6), pages 629--671, 2001.]] Google ScholarDigital Library
- E. Shapiro. Algorithmic Program Debugging. The MIT Press, 1982.]] Google ScholarDigital Library
- P. Wadler. Why no one uses Functional Languages. SIGPLAN Notices 33(8), pages 23--27, 1998.]] Google ScholarDigital Library
Index Terms
- A declarative debugger of incorrect answers for constraint functional-logic programs
Recommendations
Declarative Debugging Meets the World
Declarative debugging has been proposed as a suitable technique for diagnosing errors. It is particularly attractive for declarative programming languages, whose operational semantics differs substantially from their declarative semantics. Declarative ...
Declarative diagnosis of wrong answers in constraint functional-logic programming
ICLP'06: Proceedings of the 22nd international conference on Logic ProgrammingDebugging tools are a practical need for diagnosing the causes of erroneous computations. Declarative programming paradigms involving complex operational details, such as constraint solving and lazy evaluation, do not fit well to traditional debugging ...
A Declarative Debugger for Maude Functional Modules
A declarative debugger for Maude functional modules, which correspond to executable specifications in membership equational logic, is presented. Starting from an incorrect computation, declarative debugging builds a debugging tree as a logical ...
Comments