Skip to main content

A Semantics for Program Analysis in Narrowing-Based Functional Logic Languages

  • Conference paper
  • 255 Accesses

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

Abstract

We introduce a denotational characterization of narrowing, the computational engine of many functional logic languages. We use a functional domain for giving a denotation to the narrowing space associated to a given initial expression under an arbitrary narrowing strategy. Such a semantic description highlights (and favours) the operational notion of evaluation instead of the more usual model-theoretic notion of interpretation as the basis for the semantic description. The motivation is to obtain an abstract semantics which encodes information about the real operational framework used by a given (narrowing-based) functional logic language. Our aim is to provide a general, suitable, and accurate framework for the analysis of functional logic programs.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramsky, S.: Abstract Interpretation, Logical Relations and Kan Extensions. Journal of Logic and Computation 1(1), 5–40 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  2. Abramsky, S.: Domain Theory in Logic Form. Annals of Pure and Applied Logic 51, 1–77 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  3. Alpuente, M., Falaschi, M., Manzo, F.: Analyses of Unsatisfiability for Equational Logic Programming. Journal of Logic Programming 22(3), 221–252 (1995)

    Article  MathSciNet  Google Scholar 

  4. Antoy, S., Echahed, R., Hanus, M.: A needed narrowing strategy. In: Conference Record of the ACM Symposium on Principles of Programming Languages, POPL 1994, pp. 268–279. ACM Press, New York (1994)

    Chapter  Google Scholar 

  5. de Bakker, J.W.: Least Fixed Points Revisited. Theoretical Computer Science 2, 155–181 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  6. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  7. Dybjer, P.: Inverse Image Analysis Generalises Strictness Analysis. Information and Computation 90, 194–216 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  8. Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Initial Algebra Semantics and Continuous Algebras. Journal of the ACM 24(1), 68–95 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  9. González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M.: An approach to declarative programming based on a rewriting logic. Journal of Logic Programming 40(1), 47–87 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  10. Gunter, C.A.: Semantics of Programming Languages. The MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  11. Hanus, M.: Towards the Global Optimization of Functional Logic Programs. In: Fritzson, P.A. (ed.) CC 1994. LNCS, vol. 786, pp. 68–82. Springer, Heidelberg (1994)

    Google Scholar 

  12. Hanus, M.: A Unified Computation Model for Functional and Logic Programming. In: Conference Record of the 24th Symposium on Principles of Programming Languages POPL 1997, pp. 80–93. ACM Press, New York (1997)

    Chapter  Google Scholar 

  13. Hanus, M., Zartmann, F.: Mode Analysis of Functional Logic Programs. In: LeCharlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 26–42. Springer, Heidelberg (1994)

    Google Scholar 

  14. Hullot, J.-M.: Canonical forms and unification. In: Karlsson, R., Lingas, A. (eds.) SWAT 1988. LNCS, vol. 318-334, Springer, Heidelberg (1988)

    Google Scholar 

  15. Moreno-Navarro, J.J., Kuchen, H., Mariño, J., Winkler, S., Hans, W.: Efficient Lazy Narrowing using Demandedness Analysis. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 167–183. Springer, Heidelberg (1993)

    Google Scholar 

  16. Moreno-Navarro, J.J., Rodríguez-Artalejo, M.: Logic programming with functions and predicates: the language BABEL. Journal of Logic Programming 12, 191–223 (1992)

    Article  MATH  Google Scholar 

  17. Mycroft, A.: The theory and practice of transforming call-by-need into callby- value. In: Robinet, B. (ed.) Programming 1980. LNCS, vol. 83, pp. 269–281. Springer, Heidelberg (1980)

    Google Scholar 

  18. Reddy, U.S.: Narrowing as the Operational Semantics of Functional Languages. In: Proc. of IEEE International Symposium on Logic Programming, pp. 138–151 (1985)

    Google Scholar 

  19. Scott, D.: Domains for Denotational Semantics. In: Nielsen, M., Schmidt, E.M. (eds.) ICALP 1982. LNCS, vol. 140, pp. 577–613. Springer, Heidelberg (1982)

    Chapter  Google Scholar 

  20. Scott, D.: Lectures on a mathematical theory of computation. Monograph PRG- 19. Computing Laboratory, Oxford University (1981)

    Google Scholar 

  21. Stoltenberg-Hansen, V., Lindström, I., Griffr, E.R.: Mathematical Theory of Domains. Cambridge University Press, Cambridge (1994)

    MATH  Google Scholar 

  22. Vickers, S.: Topology via Logic. Cambridge University Press, Cambridge (1989)

    MATH  Google Scholar 

  23. Zartmann, F.: Denotational Abstract Interpretation of Functional Logic Programs. In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, pp. 141–159. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hanus, M., Lucas, S. (1999). A Semantics for Program Analysis in Narrowing-Based Functional Logic Languages. In: Middeldorp, A., Sato, T. (eds) Functional and Logic Programming. FLOPS 1999. Lecture Notes in Computer Science, vol 1722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10705424_23

Download citation

  • DOI: https://doi.org/10.1007/10705424_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66677-6

  • Online ISBN: 978-3-540-47950-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics