Abstract
This paper describes a new approach for debugging lazy functional languages. It rests on the fact that a functional program is the transformation of an expression; one debugs a program by investigating the syntactic form of the expression and by stopping the reduction process at given points. We show what problems are involved and our approach to solving them in a prototype implementation.
Similar content being viewed by others
References
Augustsson, L. A Compiler for Lazy ML. InProceedings of the ACM Symposium on Lisp and Functional Programming (1984) 218–227.
Hall, Cordelia V. and O'Donnell, John T. Debugging in applicative languages.Journal of Lisp and Symbolic Computation, 1, 1 (1988).
Hudak, P. and Wadler (editors), P.Report on the Programming Language Haskell, A Non-strict Purely Functional Language (Version 1.1). Technical Report, Yale University, Department of Computer Science (August 1991).
Latendresse, M.Un environnement de mise au point de programmes écrits dans un langage fonctionnel à évaluation paresseuse. Master's thesis, Départment d'informatique et de recherche opérationnelle, Université de Montréal (1990).
Lieberman, Henry. Steps towards better debugging tools for Lisp. InProceedings of the ACM Conference on Lisp and Functional Programming (1984) 247–255.
Milner, R. How ML evolved.Polymorphism, 1, 1 (1983) 1–6.
Milner, R., Tofte, M., and Harper, R.The Definition of Standard ML. MIT Press (1990).
Peyton-Jones, S. L.Directions in Functional Programming Research. Technical Report InDRA note 1575, Department of Computer Science, University College, London (1985).
Peyton-Jones, S. L.The Implementation of Functional Programming Languages. Prentice-Hall (1987).
Runciman, C. and Toyn, I. Adapting combinator and SECD machines to display snapshots of functional computations.New Generation Computing, 4 (1986) 339–363.
Snyder, Robin M. Lazy debugging of lazy functional language.New Generation Computing, 8, 139–161 (1990).
Turner, D. A. A new implementation technique for applicative languages.Software — Practice and Experience, 9 (1979) 31–49.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lapalme, G., Latendresse, M. A debugging environment for lazy functional languages. Lisp and Symbolic Computation 5, 271–287 (1992). https://doi.org/10.1007/BF01807507
Issue Date:
DOI: https://doi.org/10.1007/BF01807507