Skip to main content

An Algebraic Semantics for Backus’ Functional Programming Language with Infinite Objects

  • Chapter
GI - 13. Jahrestagung

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 73))

Abstract

For a variant of Backus’ functional programming language FP using non-strict operations a structured algebraic specification is given. First the basic data structure of finite nested sequences, i.e. trees with arbitrary branching, is generalized to infinite trees by allowing non-strict constructor functions. Then for the language constructs an extensional semantics is defined, and a matching operational semantics is outlined. At each level of the hierarchical specification the class of semantic models is analysed. This axiomatic definition clarifies the foundations of Backus’ algebra of functional programs. Moreover, the essential concepts of the language are clearly separated from notational extensions.

Throughout the paper the particular structure of FP is explained. Backus’ original language is related to a call-by-name variant having a simpler algebra of programs. Special stress is laid on the notion of infinite objects and on the evaluation of least fixpoints of recursive definitions.

This work was carried out within the Sonderforschungsbereich 49, Programmiertechnik, Munich.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Article  MathSciNet  MATH  Google Scholar 

  2. J. Backus: The algebra of functional programs: Function level reasoning, linear equations, and extended definitions. In: J. Diaz, I. Ramos (eds.): Formalization of Programming Concepts. Lecture Notes in Computer Science 107. Berlin-Heidelberg-New York: Springer 1981, 2111

    Google Scholar 

  3. J. Backus: Is computer science based on the wrong fundamental concept of ‘program’? An extended concept. In: J.W. de Bakker, J.C. van Vliet (eds.): Algorithmic Languages. Proceedings of an International Symposium on Algorithmic Languages. Amsterdam-New York-Oxford: North-Holland 1981, 133–165

    Google Scholar 

  4. J. Backus: Function Level Programs as Mathematical Objects. ACM Conference on Functional Programming Languages and Computer Architecture, Portsmouth, N.H., 1–10 (1981)

    Google Scholar 

  5. F.L. Bauer, H. Wssner: Algorithmic Language and Program Development. BerlinHeidelberg-New York: Springer (1982)

    MATH  Google Scholar 

  6. F.L. Bauer, M. Broy, W. Dosch, F. Geiselbrechtinger, W. Hesse, B. Krieg-BrOckner, A. Laut, T. Matzner, B. Moller, H. Partsch, P. Pepper, K. Samelson, M. Wirsing, H. WSssner: Report on a wide spectrum language for program specification and development (tentative version). Technische Universität MOnchen, Institut fOr Informatik, TUM-I8104, May 1981

    Google Scholar 

  7. M. Broy: Structured algebraic specification of Backus’ functional programming language. Unpublished manuscript. Technische Universität MOnchen, Institut für Informatik, May 1983

    Google Scholar 

  8. M. Broy, M. Wirsing: Algebraic definition of a functional programming language and its semantic models. R.A.I.R.0. Informatique théorique/Theoretical Informatics 17: 2, 137–161 (1983)

    MathSciNet  MATH  Google Scholar 

  9. D.P. Friedman, D.S. Wise: CONS should not evaluate its arguments. In: S. Michaelson, R. Milner (eds.): Automata, languages and programming. Edinburgh: Edinburgh University Press 1976, 257–285

    Google Scholar 

  10. J.A. Goguen, J.W. Thatcher, E.G. Wagner, J.B. Wright: Initial algebra semantics and continuous algebras. Journal ACM 24: 1, 68–95 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  11. J.V. Guttag: The specification and application to programming of abstract data types. Ph.D. Thesis, University of Toronto, Department of Computer Science, Report CSRG-59 (1975)

    Google Scholar 

  12. R. Henderson, J. H. Morris: A lazy evaluator. Proc. 3rd ACM Symposium on Principles of Programming Languages, 1976, 95–103

    Google Scholar 

  13. R.B. Kieburtz: Transformations of FP Program Schemes. Proc. ACM Conference on Functional Programming Languages and Computer Architecture, Portsmouth, N.H., 1981, 41–48

    Google Scholar 

  14. G.A. Magó: A network of microprocessors to execute reduction languages. International Journal on Computer and Information Systems 8:5, 349–385, 8: 6, 435–471 (1979)

    MATH  Google Scholar 

  15. J. McCarthy: Recursive functions of symbolic expressions and their computation by machine, part I. Comm. ACM 3: 4, 184–195 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  16. B. Moller: Unendliche Objekte and Geflechte. Fakultât fUr Mathematik and Informatik der Technischen Universität MOnchen, Dissertation. Technische Universität MOnchen, Institut fUr Informatik, TUM-I8213, September 1982

    Google Scholar 

  17. B. Móller: An algebraic semantics for busy (data-driven) and lazy (demand-driven) evaluation and its application to a functional language. In: J. Diaz (ed.): Automata, Languages and Programming. Lecture Notes in Computer Science 154. Berlin-Heidelberg-New York: Springer 1983, 513–526

    Google Scholar 

  18. P. Pepper, M. Broy, F.L. Bauer, H. Partsch, W. Dosch, M. Wirsing: Abstrakte Datentypen: Die algebraische Spezifikation von Rechenstrukturen. In formatik-Spektrum 5, 107–119 (1982)

    Google Scholar 

  19. B. Robinet: Un niodéle logico-combinatoire des systemes de Backus. Université Paris 7, Laboratoire Informatique Theorique et Programmation, Rapport No 80–21, April 1980

    Google Scholar 

  20. P.C. Treleaven, D.R. Brownbridge, R.P. Hopkins: Data-driven and demand-driven computer architecture. Computing Surveys 14: 1, 93–143 (1982)

    Article  Google Scholar 

  21. J.Vuillemin: Correct and optimal implementations of recursion in a simple programming language. Journal of Computer and Systems Science 9, 31–49 (1974)

    Article  Google Scholar 

  22. J.H. Williams: On the development of the algebra of functional programs. ACM Transactions on Programming Languages 4: 4, 733–757 (1982)

    Article  MATH  Google Scholar 

  23. M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy: On hierarchies of abstract data types. Acta Informatica (to appear 1983 )

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1983 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dosch, W., Möller, B. (1983). An Algebraic Semantics for Backus’ Functional Programming Language with Infinite Objects. In: Kupka, I. (eds) GI - 13. Jahrestagung. Informatik-Fachberichte, vol 73. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-69298-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-69298-7_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-12734-5

  • Online ISBN: 978-3-642-69298-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics