Skip to main content

Observing Functional Logic Computations

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2004)

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

Included in the following conference series:

Abstract

A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry. The Curry Object Observation System (COOSy) comprises a portable library plus a viewing tool. A programmer can observe data structures and functions by annotating expressions in his program. The possibly partial values of observed expressions that are computed during program execution are recorded in a trace file, including information on non-deterministic choices and logical variables. A separate viewing tool displays the trace content. COOSy covers all aspects of modern functional logic multiparadigm languages such as lazy evaluation, higher order functions, non-deterministic search, logical variables, concurrency and constraints. Both use and implementation of COOSy are described.

This work has been partially supported by the DFG under grant Ha 2457/1-2.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Booth, S.P., Jones, S.B.: Walk backwards to happiness - debugging by time travel. In: Automated and Algorithmic Debugging, pp. 171–183 (1997)

    Google Scholar 

  2. 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 

  3. Chitil, O., Runciman, C., Wallace, M.: Freja, Hat and Hood – a comparative evaluation of three systems for tracing and debugging lazy functional programs. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 176–193. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Drabent, W., Nadjm-Tehrani, S., Maluszynski, J.: The use of assertions in algorithmic debugging. In: Proc. FGCS 1988, pp. 573–581 (1988)

    Google Scholar 

  5. Gill, A.: Debugging Haskell by observing intermediate data structures. In: Hutton, G. (ed.) ENTCS, vol. 41, Elsevier, Amsterdam (2001)

    Google Scholar 

  6. Hanus, M.: The integration of functions into logic programming: From theory to practice. Journal of Logic Programming 19&20, 583–628 (1994)

    Article  MathSciNet  Google Scholar 

  7. Hanus, M.: A unified computation model for functional and logic programming. In: POPL 1997, pp. 80–93 (1997)

    Google Scholar 

  8. Hanus, M.: High-level server side web scripting in Curry. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 76–92. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. Hanus, M., Antoy, S., Engelke, M., Höppner, K., Koj, J., Niederau, P., Sadre, R., Steiner, F.: PAKCS: The Portland Aachen Kiel Curry System (2003), Available at http://www.informatik.uni-kiel.de/~pakcs/

  10. Hanus, M. (ed.): Curry: An integrated functional logic language, vers. 0.7.2 (2002), Available at http://www.informatik.uni-kiel.de/~curry

  11. Nilsson, H., Fritzson, P.: Algorithmic debugging for lazy functional languages. Journal of Functional Programming 4(3), 337–370 (1994)

    Article  Google Scholar 

  12. Nilsson, H.: Declarative Debugging for Lazy Functional Languages. PhD thesis, Linköping, Sweden (1998)

    Google Scholar 

  13. Jones, S.P., et al.: Haskell 98 language and libraries: the revised report. Journal of Functional Programming 13(1) (2003)

    Google Scholar 

  14. Pope, B.: Lee Naish. Practical aspects of declarative debugging in Haskell-98. In: ACM PPDP 2003, pp. 230–240 (2003)

    Google Scholar 

  15. Reinke, C.: GHood – graphical visualisation and animation of Haskell object observations. In: Proceedings of the 2001 ACM SIGPLAN Haskell Workshop (2001)

    Google Scholar 

  16. Shapiro, E.: Algorithmic Program Debugging. MIT Press, Cambridge (1983)

    Google Scholar 

  17. Sparud, J., Runciman, C.: Tracing lazy functional computations using redex trails. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 291–308. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  18. Tessier, A.: Declarative debugging in constraint logic programming. In: Jaffar, J., Yap, R.H.C. (eds.) ASIAN 1996. LNCS, vol. 1179, pp. 64–73. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  19. Wallace, M., Chitil, O., Brehm, T., Runciman, C.: Multiple-view tracing for Haskell. In: Proceedings of the 2001 ACM SIGPLAN Haskell Workshop (2001)

    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

Braßel, B., Chitil, O., Hanus, M., Huch, F. (2004). Observing Functional Logic Computations. In: Jayaraman, B. (eds) Practical Aspects of Declarative Languages. PADL 2004. Lecture Notes in Computer Science, vol 3057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24836-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24836-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22253-8

  • Online ISBN: 978-3-540-24836-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics