Skip to main content

Protrace: Effective Recursion Tracing and Debugging Library for Functional Programming Style in Common Lisp

  • Conference paper
  • 1940 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 6114))

Abstract

Among programming styles the functional one has gained an increasing attention in the recent years. Lisp dialects and Common Lisp in particular have always been languages of choice for artificial intelligence systems implementation. Debugging functional algorithms based in the natural way on recursion and immutability is especially hard. This article presents a library that allows the programmer to mark and trace Common Lisp expressions evaluation.

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   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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. Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42(2) (1936)

    Google Scholar 

  2. Church, A.: A set of postulates for the foundation of logic. Annals of Mathematics, Series 2, 33, 346–366 (1932)

    Article  MathSciNet  Google Scholar 

  3. Backus, J.: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. ACM Turing Award Lecture (1977); Communications of the ACM 2 (August 1978)

    Google Scholar 

  4. Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3) (September 1989)

    Google Scholar 

  5. Peyton Johnes, S.L.: The Implementation of Functional Programming Language. Prentice Hall International (UK) Ltd., Englewood Cliffs (1987)

    Google Scholar 

  6. Okasaki, C.: Purely Functional Data Structures. PhD thesis submitted to School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (1996)

    Google Scholar 

  7. Bagwell, P.: Ideal Hash Trees. Es Grands Champs 1195 (2001)

    Google Scholar 

  8. McCarthy, J.: Recursive Functions of Symbolic Expressions and Their Computation by Machine. CACM 3(4), 184–195 (1960)

    MATH  MathSciNet  Google Scholar 

  9. Abelson, H., Sussman, G.J.: Structure and Interpretation of Computer Programs. MIT Press, Cambridge (1984), ISBN 0-262-01077-1

    Google Scholar 

  10. Russel, S.J., Norvig, P.: Artificial Intelligence A Modern Approach, 2nd edn. Pearson Education Inc., Upper Saddle River (2003)

    Google Scholar 

  11. Norvig, P.: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. Morgan Kaufmann, San Francisco (1991)

    Google Scholar 

  12. Seibel, P.: Coders at Work, 1st edn. Apress (September 16, 2009)

    Google Scholar 

  13. Seibel, P.: Practical Common Lisp, 1st edn. Apress (April 11, 2005), http://www.gigamonkeys.com/book/ ,

  14. Steele, G.L.: Common Lisp the Language, 2nd edn. Digital Press (1990), ISBN 1-55558-041-6, http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html

  15. Graham, P.: On Lisp - Advanced Techniques for Common Lisp. Prentice-Hall, Englewood Cliffs (1993)

    Google Scholar 

  16. Graham, P.: ANSI Common Lisp. Series in Artificial Intelligence. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  17. Steel Bank Common Lisp Website, http://www.sbcl.org

  18. Clojure Website, http://clojure.org

  19. Halloway, S.: Programming Clojure. The Pragmatic Bookshelf (May 2009), ISBN: 978-1-93435-633-3

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  21. Nilsson, H.: Tracing piece by piece: affordable debugging for lazy functional languages. In: Proceedings of the 1999 ACM SIGPLAN Int’l Conf. on Functional Programming, pp. 36–47. ACM Press, New York (1999)

    Chapter  Google Scholar 

  22. ITA Software Programming Puzzles, http://www.itasoftware.com/careers/puzzle_archive.html?catid=39#TheMysteryMFunction

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Grzanek, K., Cader, A. (2010). Protrace: Effective Recursion Tracing and Debugging Library for Functional Programming Style in Common Lisp. In: Rutkowski, L., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds) Artifical Intelligence and Soft Computing. ICAISC 2010. Lecture Notes in Computer Science(), vol 6114. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13232-2_57

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13232-2_57

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13231-5

  • Online ISBN: 978-3-642-13232-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics