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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42(2) (1936)
Church, A.: A set of postulates for the foundation of logic. Annals of Mathematics, Series 2, 33, 346–366 (1932)
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)
Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3) (September 1989)
Peyton Johnes, S.L.: The Implementation of Functional Programming Language. Prentice Hall International (UK) Ltd., Englewood Cliffs (1987)
Okasaki, C.: Purely Functional Data Structures. PhD thesis submitted to School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (1996)
Bagwell, P.: Ideal Hash Trees. Es Grands Champs 1195 (2001)
McCarthy, J.: Recursive Functions of Symbolic Expressions and Their Computation by Machine. CACM 3(4), 184–195 (1960)
Abelson, H., Sussman, G.J.: Structure and Interpretation of Computer Programs. MIT Press, Cambridge (1984), ISBN 0-262-01077-1
Russel, S.J., Norvig, P.: Artificial Intelligence A Modern Approach, 2nd edn. Pearson Education Inc., Upper Saddle River (2003)
Norvig, P.: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. Morgan Kaufmann, San Francisco (1991)
Seibel, P.: Coders at Work, 1st edn. Apress (September 16, 2009)
Seibel, P.: Practical Common Lisp, 1st edn. Apress (April 11, 2005), http://www.gigamonkeys.com/book/ ,
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
Graham, P.: On Lisp - Advanced Techniques for Common Lisp. Prentice-Hall, Englewood Cliffs (1993)
Graham, P.: ANSI Common Lisp. Series in Artificial Intelligence. Prentice-Hall, Englewood Cliffs (1996)
Steel Bank Common Lisp Website, http://www.sbcl.org
Clojure Website, http://clojure.org
Halloway, S.: Programming Clojure. The Pragmatic Bookshelf (May 2009), ISBN: 978-1-93435-633-3
Ferrand, G.: Error Diagnosis in Logic Programming, an Adaptation of E. Y. Shapiro’s Method. Journal of Logic Programming 4(3), 177–198 (1987)
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)
ITA Software Programming Puzzles, http://www.itasoftware.com/careers/puzzle_archive.html?catid=39#TheMysteryMFunction
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)