Abstract
Functional logic languages amalgamates functional and logic program paradigms. Their computation principle is a generalization of the reduction principle of functional languages and the resolution principle of logic languages. All these languages have a clear model theoretic semantics, i.e. they are based on the principle of separation of logic and control. The lack of „control information” in programs requires complex data-flow analyses. Denotational abstract interpretation is a suitable framework for program analyses. We introduce a denotational semantics for needed narrowing and exemplify the use of this semantics by a demandedness analysis.
Preview
Unable to display preview. Download preview PDF.
References
S. Antoy. Definitional trees. In ALP, volume 632 of LNCS, pages 143–157. Springer, 1992.
S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. In Symposium on Principles of Programming Languages (POPL'94), volume 21, pages 268–279. ACM, 1994.
G.L. Burn. Evaluation transformer-a model for the parallel evaluation of functional 2701 0699 V 2 languages (extended abstract). In Proc. of the 3th Conference on Functional 2701 0699 V 3 Languages and Computer Architecture, volume 274 of LNCS, pages 446–470. 2701 0699 V 3 Springer, 1987.
G.L. Burn. Lazy Functional Languges: Abstract Interpretation and Compilation. Research Monographs in Parallel and Distributed Computing. MIT Press, 1991.
P. Cousot and R. Cousot. A unified lattice model for static analysis of programs by construction of approximation of fixpoints. In Proc. of the 4th ACM Symposium on Principles of Programming Languages (POPL), pages 238–252, 1977.
N. Dershowitz and J. Jouannaud. Rewrite systems. In J. Van Leeuwen, editor, Handbook of theoretical Computer Science, volume B, chapter 6, pages 243–320. Elsevier, 1990.
W. Hans, J. Marino-Carballo, J. J. Moreno-Navarro, H. Kuchen, and S. Winkler. Efficient lazy narrowing using demandedness analysis. In PLILP, volume 714 of 2701 0699 V 3 LNCS, pages 167–183. Springer, 1993.
M. Hanus. The integration of functions into logic programming: From theory to practice. Journal of Logic Programming, 19&20:583–628, 1994.
M. Harms. A unified computation model for functional logic programming. In Symposium on Principles of Programming Languages (POPL'97), volume 24, pages 80–93. ACM, 1997.
M. Harms and S. Lucas. Definition and analysis of a denotational semantics for needed narrowing. Technical Report DSIC 11/2/96, Universidad Politécnia de Valencia, 1996.
M. Kurihara and A. Ohuchi. Modularity in noncopying term rewriting. Theoretical Computer Science, 152:139–69, 1995.
K. Marriott, H. Sondergaard, and N. D. Jones. Denotational abstract interpretation of logic programs. ACM Transactions on Programming Languages, 16(3):607–648, May 1994.
A. Mycroft. The theory and practice of transforming call-by-need into call-by-value. 2701 0699 V 2 In Proc. of the 4th International Symposium on Programming Languages, 2701 0699 V 3 volume 83 of LNCS, pages 269–281. Springer, 1980.
C. Palamidessi. Algebraic properties of idempotent substitutions. In M.S. Paterson, editor, Proc. of 17th Int'l Colloquium on Automata, Languages and Programming, volume 443 of LNCS, pages 386–399. Springer, 1990.
R. Sekar and I. V. Ramakrishnan.Fast strictness analysis based on demand propagation. ACM Transactions on Programming Languages and Systems, 17(6):896–937, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zartmann, F. (1997). Denotational abstract interpretation of functional logic programs. In: Van Hentenryck, P. (eds) Static Analysis. SAS 1997. Lecture Notes in Computer Science, vol 1302. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032739
Download citation
DOI: https://doi.org/10.1007/BFb0032739
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63468-3
Online ISBN: 978-3-540-69576-9
eBook Packages: Springer Book Archive