Skip to main content

Denotation by Transformation

Towards Obtaining a Denotational Semantics by Transformation to Point-Free Style

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4915))

Abstract

It has often been observed that a point-free style of programming provides a more abstract view on programs. We aim to use the gain in abstraction to obtain a denotational semantics for functional logic languages in a straightforward way. Here we propose a set of basic operations based on which arbitrary functional logic programs can be transformed to point-free programs. The semantics of the resulting programs are strict but, nevertheless, the semantics of the original program is preserved.

There is a one-to-one mapping from the primitives introduced by the transformation to operations in relation algebra. This mapping can be extended to obtain a relation algebraic model for the whole program. This yields a denotational semantics which is on one hand closely related to point-free functional logic programs and on the other hand connects to the well-developed field of algebraic logic including automatic proving.

This work has been partially supported by the DFG under grant Ha 2457/1-2.

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. Antoy, S., Hanus, M.: Declarative programming with function patterns. In: Hill, P.M. (ed.) LOPSTR 2005. LNCS, vol. 3901, pp. 6–22. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Backus, J.: Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Com. ACM 21(8), 613–641 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bird, R., de Moor, O.: Algebra of programming. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1997)

    MATH  Google Scholar 

  4. Braßel, B., Christiansen, J.: A Relation Algebraic Semantics for a Lazy Functional Logic Language. In: Submitted to the 10th International Conference on Relational Methods in Computer Science (RelMiCS 10), http://www.informatik.uni-kiel.de/prog/mitarbeiter/bernd-brassel/publications/

  5. Braßel, B., Christiansen, J.: Denotation by transformation - towards obtaining a denotational semantics by transformation to point-free style. Technical report no. 0711, Christian-Albrechts-University of Kiel (2007)

    Google Scholar 

  6. Cleva, J.M., Leach, J., López-Fraguas, F.J.: A logic programming approach to the verification of functional-logic programs. In: Moggi, E., Warren, D.S. (eds.) PPDP, pp. 9–19. ACM Press, New York (2004)

    Google Scholar 

  7. Cunha, A.: Point-free program calculation. PhD thesis, Universidade do Minho, Departamento de Informática (2005)

    Google Scholar 

  8. Cunha, A., Sousa Pinto, J., Proença, J.: A Framework for Point-Free Program Transformation. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol. 4015, pp. 1–18. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Fay, M.J.: First-order unification in an equational theory. In: Proc. 4th Workshop on Automated Deduction, Austin (Texas), pp. 161–167. Academic Press, London (1979)

    Google Scholar 

  10. 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, 47–87 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  11. González-Moreno, J.C., Hortalá-González, M.T., Rodríguez-Artalejo, M.: A higher order rewriting logic for functional logic programming. In: Proc. of the Fourteenth International Conference on Logic Programming (ICLP 1997), pp. 153–167. MIT Press, Cambridge (1997)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  13. Hanus, M.: A unified computation model for functional and logic programming. In: Proc. of the 24th ACM Symposium on Principles of Programming Languages (Paris), pp. 80–93 (1997)

    Google Scholar 

  14. Hanus, M. (ed.): Curry: An integrated functional logic language (vers. 0.8.2) (2006), http://www.informatik.uni-kiel.de/~curry

  15. Höfner, P., Struth, G.: Automated reasoning in kleene algebra. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 279–294. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Hu, Z., Iwasaki, H., Takeichi, M.: Deriving structural hylomorphisms from recursive definitions. In: ICFP, pp. 73–82 (1996)

    Google Scholar 

  17. López-Fraguas, F., Sánchez-Hernández, J.: TOY: A multiparadigm declarative system. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 244–247. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  18. López-Fraguas, F.J., Rodríguez-Hortalá, J., Sánchez-Hernández, J.: A simple rewrite notion for call-time choice semantics. In: Proceedings of the 9th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2007), pp. 197–208. ACM Press, New York (2007)

    Google Scholar 

  19. Schmidt, G., Ströhlein, T.: Relations and Graphs - Discrete Mathematics for Computer Scientists. In: EATCS Monographs on Theoretical Computer Science, Springer, Heidelberg (1993)

    Google Scholar 

  20. Zierer, H.: Programmierung mit Funktionsobjekten: Konstruktive Erzeugung semantischer Bereiche und Anwendung auf die partielle Auswertung. PhD thesis, Technische Universität München, Fakultät für Informatik (1988)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Braßel, B., Christiansen, J. (2008). Denotation by Transformation. In: King, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2007. Lecture Notes in Computer Science, vol 4915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78769-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78769-3_7

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-78769-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics