# (Relational) programming laws in the boom hierarchy of types

Conference paper

First Online:

## 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.

## 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.CrossRefGoogle Scholar - 8.R.S. Bird. Transformational Programming and the Paragraph Problem.
*Science of Computing Programming*, 6:159–189, 1986.CrossRefGoogle 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.CrossRefGoogle 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

## Copyright information

© Springer-Verlag Berlin Heidelberg 1993