Advertisement

(Relational) programming laws in the boom hierarchy of types

  • Paul F. Hoogendijk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 669)

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.

Keywords

Object Language Type Information Trading Rule Property Conditional Left Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    R.C. Backhouse. Program construction and verification. Prentice-Hall, 1986.Google Scholar
  3. 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. 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. 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. 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. 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.CrossRefGoogle Scholar
  8. 8.
    R.S. Bird. Transformational Programming and the Paragraph Problem. Science of Computing Programming, 6:159–189, 1986.CrossRefGoogle Scholar
  9. 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. 10.
    R.S. Bird. Lectures on constructive functional programming. Oxford University, 1988.Google Scholar
  11. 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. 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. 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. 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. 15.
    E.W. Dijkstra, W.H.J. Feijen. Een methode van programmeren. Academic Service, 1984.Google Scholar
  16. 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. 17.
    C.A.R. Hoare et al. Laws of Programming. Communications of the ACM, 30(8):672–686, 1987.CrossRefGoogle Scholar
  18. 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. 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. 20.
    K. Iverson. A Programming Language. John Wiley & Sons New York, 1962.Google Scholar
  21. 21.
    G. Malcolm. Algebraic data types and program transformation. PhD thesis, Groningen University, 1990.Google Scholar
  22. 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. 23.
    G. Schmidt and T. Ströhlein. Relationen und Grafen. Springer-Verlag, 1988.Google Scholar
  24. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Paul F. Hoogendijk
    • 1
  1. 1.Department of Mathematics and Computing ScienceEindhoven University of TechnologyMB EindhovenThe Netherlands

Personalised recommendations