Skip to main content

(Relational) programming laws in the boom hierarchy of types

  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 1992)

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

Included in the following conference series:

Abstract

In this paper we demonstrate that the basic rules and calculational techniques used in two extensively documented program derivation methods can be expressed, and, indeed, can be generalised within a relational theory of datatypes. The two methods to which we refer are the so-called “Bird-Meertens formalism” (see [22]) and the “Dijkstra-Feijen calculus” (see [15]).

The current paper forms an abridged, though representative, version of a complete account of the algebraic properties of the Boom hierarchy of types [19, 18]. Missing is an account of extensionality and the so-called cross-product.

The investigations were (partly) supported by the Foundation for Computer Science in the Netherlands (SION) with financial support from the Netherlands Organization for Scientific Research (NWO)

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. R.C. Backhouse. An exploration of the Bird-Meertens formalism. Technical Report CS 8810, Department of Computing Science, Groningen University, 1988.

    Google Scholar 

  2. R.C. Backhouse. Program construction and verification. Prentice-Hall, 1986.

    Google Scholar 

  3. Roland Backhouse and Paul Hoogendijk. Elements of a Relational Theory of Datatypes. To appear in: Proceedings of IFIP summerschool, Brazil 1992.

    Google Scholar 

  4. R.C. Backhouse, P. de Bruin, P. Hoogendijk, G. Malcolm, T.S. Voermans, and J. van der Woude. Polynomial relators. To appear in: Proceedings of the 2nd Conference on Algebraic Methodology and Software Technology, May 22–25, 1991.

    Google Scholar 

  5. R.C. Backhouse, P. de Bruin, G. Malcolm, T.S. Voermans, and J van der Woude. Relational Catamorphisms. In Möller B., editor, Proceedings of the IFIP TC2/WG2.1 Working Conference on Constructing Programs, pages 287–318. Elsevier Science Publishers B.V., 1991.

    Google Scholar 

  6. R.C. Backhouse, T.S. Voermans, J. v.d. Woude. A Relational Theory Of Datatypes. Proceedings of the EURICS on Calculational Theories of Program Structure, Ameland, The Netherlands, September 1991.

    Google Scholar 

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

    Article  Google Scholar 

  8. R.S. Bird. Transformational Programming and the Paragraph Problem. Science of Computing Programming, 6:159–189, 1986.

    Article  Google Scholar 

  9. R.S. Bird. An introduction to the Theory of Lists. In M. Broy, editor, Logic of Programming and Calculi of Discrete Design. Springer-Verlag, 1987. NATO ASI Series, vol. F36.

    Google Scholar 

  10. R.S. Bird. Lectures on constructive functional programming. Oxford University, 1988.

    Google Scholar 

  11. R.S. Bird and J. Gibbons and G. Jones. Formal Derivation of a Pattern Matching Algorithm. Technical report, Programming Research Group, Oxford University, 11, Keble Road, Oxford, OX1 3QD, U.K., 1988.

    Google Scholar 

  12. R.S. Bird. A Calculus of Functions for Program Derivation. Technical report, Programming Research Group, Oxford University, 11, Keble Road, Oxford, OX1 3QD, U.K., 1988.

    Google Scholar 

  13. R.S. Bird and L. Meertens. Two exercises found in a book on algorithmics. In L.G.L.T. Meertens, editor, Program Specification and Transformations, pages 451–457. Elsevier Science Publishers B.V., North Holland, 1987.

    Google Scholar 

  14. P. Chisholm. Calculation by Computer. In Third International Workshop Software Engineering and its Applications, pages 713–728, Toulouse, France, December 3–7 1990. EC2.

    Google Scholar 

  15. E.W. Dijkstra, W.H.J. Feijen. Een methode van programmeren. Academic Service, 1984.

    Google Scholar 

  16. C.A.R. Hoare. A couple of novelties in the propositional calculus. Zeitschr. fuer Math. Logik und Grundlagen der Math., 31(2):173–178, 1985.

    Google Scholar 

  17. C.A.R. Hoare et al. Laws of Programming. Communications of the ACM, 30(8):672–686, 1987.

    Article  Google Scholar 

  18. P.F. Hoogendijk. A Hierarchy of Freebies. Proceedings of the EURICS on Calculational Theories of Program Structure, Ameland, The Netherlands, September 1991.

    Google Scholar 

  19. P.F. Hoogendijk. The Boom hierarchy. Proceedings of the EURICS on Calculationai Theories of Program Structure, Ameland, The Netherlands, September 1991.

    Google Scholar 

  20. K. Iverson. A Programming Language. John Wiley & Sons New York, 1962.

    Google Scholar 

  21. G. Malcolm. Algebraic data types and program transformation. PhD thesis, Groningen University, 1990.

    Google Scholar 

  22. L. Meertens. Algprithmics — towards programming as a mathematical activity. In Proceedings of the CWI Symposium on Mathematics and Computer Science, pages 289–334. North-Holland, 1986.

    Google Scholar 

  23. G. Schmidt and T. Ströhlein. Relationen und Grafen. Springer-Verlag, 1988.

    Google Scholar 

  24. E. Voermans, Pers as Types, Inductive Types and Types with Laws. To appear in: PHOENIX seminar and workshop on declarative programming, Sasbachwalden 1991. Workshops in computing, Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

R. S. Bird C. C. Morgan J. C. P. Woodcock

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hoogendijk, P.F. (1993). (Relational) programming laws in the boom hierarchy of types. In: Bird, R.S., Morgan, C.C., Woodcock, J.C.P. (eds) Mathematics of Program Construction. MPC 1992. Lecture Notes in Computer Science, vol 669. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56625-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-56625-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56625-0

  • Online ISBN: 978-3-540-47613-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics