| A semantics for tracing declarative multi-paradigm programs |
| Full text |
Pdf
(262 KB)
|
Source
|
International Conference on Principles and Practice of Declarative Programming
archive
Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
table of contents
Verona, Italy
Pages: 179 - 190
Year of Publication: 2004
ISBN:1-58113-819-9
|
|
Authors
|
|
B. Brassel
|
Institut für Informatik, Kiel, Germany
|
|
M. Hanus
|
Institut für Informatik, Kiel, Germany
|
|
F. Huch
|
Institut für Informatik, Kiel, Germany
|
|
G. Vidal
|
Technical University of Valencia, Valencia, Spain
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 0, Downloads (12 Months): 7, Citation Count: 9
|
|
|
ABSTRACT
We introduce the theoretical basis for tracing lazy functional logic computations in a declarative multi-paradigm language like Curry. Tracing computations is a difficult task due to the subtleties of the underlying operational semantics which combines laziness and non-determinism. In this work, we define an instrumented operational semantics that generates not only the computed values and bindings but also an appropriate data structure---a sort of redex trail---which can be used to trace computations at an adequate level of abstraction. In contrast to previous approaches, which rely solely on a transformation to instrument source programs, the formal definition of a tracing semantics improves the understanding of the tracing process. Furthermore, it allows us to formally prove the correctness of the computed trail. A prototype implementation of a tracer based on this semantics demonstrates the usefulness of our approach.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
E. Albert, M. Hanus, F. Huch, J. Oliver, and G. Vidal. Operational Semantics for Declarative Multi-Paradigm Languages. To appear in Journal of Symbolic Computation, 2004.
|
 |
2
|
|
| |
3
|
B. Braßel, O. Chitil, M. Hanus, and F. Huch. Observing Functional Logic Computations. In Proc. of the Sixth Int'l Symposium on Practical Aspects of Declarative Languages (PADL'04), pages 193--208. Springer LNCS 3057, 2004.
|
| |
4
|
L. Byrd. Understanding the control flow of prolog programs. In Proc. of the Workshop on Logic Programming, Debrecen, 1980.
|
| |
5
|
O. Chitil. A Semantics for Tracing. In 13th Int'l Workshop on Implementation of Functional Languages (IFL 2001), pages 249--254. Ericsson CSL, 2001.
|
| |
6
|
|
| |
7
|
A. Gill. Debugging Haskell by Observing Intermediate Data Structures. In Proc. of the 4th Haskell Workshop. University of Nottingham, 2000.
|
| |
8
|
J.C. González-Moreno, M.T. Hortalá-González, F.J. López-Fraguas, and M. Rodríguez-Artalejo. An Approach to Declarative Programming based on a Rewriting Logic. Journal of Logic Programming, 40:47--87, 1999.
|
 |
9
|
|
| |
10
|
|
| |
11
|
M. Hanus (ed.). Curry: An Integrated Functional Logic Language. Available at: http://www.informatik.uni-kiel.de/~curry/.
|
 |
12
|
|
| |
13
|
|
| |
14
|
H. Nilsson and P. Fritzson. Algorithmic debugging for lazy functional languages. Journal of Functional Programming, 4(3):337--370, 1994.
|
| |
15
|
|
| |
16
|
S. Peyton Jones, editor. Haskell 98 Language and Libraries : The Revised Report. Cambridge University Press, 2003.
|
| |
17
|
|
| |
18
|
|
| |
19
|
M. Wallace, O. Chitil, T. Brehm, and C. Runciman. Multiple-View Tracing for Haskell: a New Hat. In Proc. of the 2001 ACM SIGPLAN Haskell Workshop. Universiteit Utrecht UU-CS-2001-23, 2001.
|
|