Skip to main content

Denotational abstract interpretation of functional logic programs

  • Logic Programming II
  • Conference paper
  • First Online:
Static Analysis (SAS 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1302))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Antoy. Definitional trees. In ALP, volume 632 of LNCS, pages 143–157. Springer, 1992.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. G.L. Burn. Lazy Functional Languges: Abstract Interpretation and Compilation. Research Monographs in Parallel and Distributed Computing. MIT Press, 1991.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. M. Hanus. The integration of functions into logic programming: From theory to practice. Journal of Logic Programming, 19&20:583–628, 1994.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. M. Kurihara and A. Ohuchi. Modularity in noncopying term rewriting. Theoretical Computer Science, 152:139–69, 1995.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pascal Van Hentenryck

Rights and permissions

Reprints 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

Publish with us

Policies and ethics