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)
Preview
Unable to display preview. Download preview PDF.
References
R.C. Backhouse. An exploration of the Bird-Meertens formalism. Technical Report CS 8810, Department of Computing Science, Groningen University, 1988.
R.C. Backhouse. Program construction and verification. Prentice-Hall, 1986.
Roland Backhouse and Paul Hoogendijk. Elements of a Relational Theory of Datatypes. To appear in: Proceedings of IFIP summerschool, Brazil 1992.
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.
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.
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.
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.
R.S. Bird. Transformational Programming and the Paragraph Problem. Science of Computing Programming, 6:159–189, 1986.
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.
R.S. Bird. Lectures on constructive functional programming. Oxford University, 1988.
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.
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.
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.
P. Chisholm. Calculation by Computer. In Third International Workshop Software Engineering and its Applications, pages 713–728, Toulouse, France, December 3–7 1990. EC2.
E.W. Dijkstra, W.H.J. Feijen. Een methode van programmeren. Academic Service, 1984.
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.
C.A.R. Hoare et al. Laws of Programming. Communications of the ACM, 30(8):672–686, 1987.
P.F. Hoogendijk. A Hierarchy of Freebies. Proceedings of the EURICS on Calculational Theories of Program Structure, Ameland, The Netherlands, September 1991.
P.F. Hoogendijk. The Boom hierarchy. Proceedings of the EURICS on Calculationai Theories of Program Structure, Ameland, The Netherlands, September 1991.
K. Iverson. A Programming Language. John Wiley & Sons New York, 1962.
G. Malcolm. Algebraic data types and program transformation. PhD thesis, Groningen University, 1990.
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.
G. Schmidt and T. Ströhlein. Relationen und Grafen. Springer-Verlag, 1988.
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.
Author information
Authors and Affiliations
Editor information
Rights 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