Skip to main content

\(\mathcal{DDT}\): a Declarative Debugging Tool for Functional-Logic Languages

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2998))

Abstract

We present a graphical tool for the declarative debugging of wrong answers in functional-logic languages. The tool, integrated in the system \(\mathcal{TOY}\), can be used to navigate a computation tree corresponding to some erroneous computation. During the navigation the users can either follow a fixed strategy or move freely providing information about the validity of the nodes as they like. We show by means of examples how this flexibility can reduce both the number and the complexity of the questions that the user must consider w.r.t. the usual top-down navigation strategy. Moreover, the tool includes some extra features that can be used to automatically simplify the computation trees.

Work partially supported by the Spanish CYCIT (project TIC2002-01167 ‘MELODIAS’).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alpuente, M., Correa, F.J., Falaschi, M.: A Debugging Scheme for Funcional Logic Programs. Electronic Notes in Theoretical Computer Science, vol. 64. Elsevier, Amsterdam (2002)

    Google Scholar 

  2. Comini, M., Levi, G., Meo, M.C., Vitello, G.: Abstract Diagnosis. J. of Logic Programming 39, 43–93 (1999)

    Article  MATH  Google Scholar 

  3. Cameron, M., García de la Banda, M., Marriott, K., Moulder, P.: ViMer: A Visual Debugger for Mercury. In: Proc. PPDP 2003, pp. 56–66. ACM Press, New York (2003)

    Chapter  Google Scholar 

  4. Caballero, R., Lux, W.: Declarative Debugging of Encapsulated Search. Electronic Notes in Theoretical Computer Science, vol. 76. Elsevier, Amsterdam (2002)

    Google Scholar 

  5. Caballero, R., López-Fraguas, F.J., Rodríguez-Artalejo, M.: Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs. In: Kuchen, H., Ueda, K. (eds.) FLOPS 2001. LNCS, vol. 2024, pp. 170–184. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  6. Caballero, R., Rodríguez Artalejo, M.: A Declarative Debugging System for Lazy Functional Logic Programs. Electronic Notes in Theoretical Computer Science, vol. 64. Elsevier, Amsterdam (2002)

    Google Scholar 

  7. Ferrand, G.: Error Diagnosis in Logic Programming, an Adaptation of E.Y. Shapiro’s Method. The Journal of Logic Programming 4(3), 177–198 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  8. González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M.: An Approach to Declarative Programming Based on a Rewriting Logic. Journal of Logic Programming 40(1), 44–87 (1999)

    Article  Google Scholar 

  9. González-Moreno, J.C., Hortalá-González, M.T., Rodríguez-Artalejo, M.: Polymorphic Types in Functional Logic Programming. In: Middeldorp, A. (ed.) FLOPS 1999. LNCS, vol. 1722, Springer, Heidelberg (1999); special issue of the Journal of Functional and Logic Programming (2001), Available at http://danae.uni-muenster.de/lehre/kuchen/JFLP

    Chapter  Google Scholar 

  10. Hanus, M.: Curry: An Integrated Functional Logic Language. Version 0.7.1 (June 2000), Available at http://www.informatik.uni-kiel.de/curry/report.html

  11. Lloyd, J.W.: Declarative Error Diagnosis. New Generation Computing 5(2), 133–154 (1987)

    Article  MATH  Google Scholar 

  12. López-Fraguas, F.J., Sánchez-Hernández, J.: TOY a Multiparadigm Declarative System. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 244–247. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Naish, L.: A Declarative Debugging Scheme. Journal of Functional and Logic Programming, 1997-3.

    Google Scholar 

  14. Nilsson, H.: How to look busy while being lazy as ever: The implementation of a lazy functional debugger. Journal of Functional Programming 11(6), 629–671 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  15. Nilsson, H., Sparud, J.: The Evaluation Dependence Tree as a basis for Lazy Functional Debugging. Automated Software Engineering 4(2), 121–150 (1997)

    Article  Google Scholar 

  16. Peyton Jones, S.L., Hughes, J., et al. (ed.) Report on the programming language Haskell 98: a non-strict, purely functional language (2002), Available at http://www.haskell.org/onlinereport/

  17. Pope, B., Naish, L.: Practical Aspects of Declarative Debugging in Haskell 98. In: Proc. PPDP 2003, pp. 230–240. ACM Press, New York (2003)

    Chapter  Google Scholar 

  18. Shapiro, E.Y.: Algorithmic Program Debugging. The MIT Press, Cambridge (1982)

    Google Scholar 

  19. SICStus Prolog homepage, http://www.sics.se/sicstus/

  20. Tessier, A., Ferrand, G.: Declarative Diagnosis in the CLP Scheme. In: Deransart, P., Małuszyński, J. (eds.) DiSCiPl 1999. LNCS, vol. 1870, pp. 151–174. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Caballero, R., Rodríguez-Artalejo, M. (2004). \(\mathcal{DDT}\): a Declarative Debugging Tool for Functional-Logic Languages. In: Kameyama, Y., Stuckey, P.J. (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24754-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24754-8_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21402-1

  • Online ISBN: 978-3-540-24754-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics