Constructing a calculus of programs
A large part of the effort in formal program developments is expended on repeating the same derivational patterns over and over again. The problem is compounded by notations that require many marks on paper for expressing one elementary concept, and ‘administrative overhead’, consisting of algorithmically uninteresting but technically necessary steps, like shuffling parts of an expression around without change in computational meaning, and the introduction of local auxiliary definitions for lack of a suitable notation for what is being defined. This can to a large extent be avoided by developing suitable theories, including a notation that is designed to increase the manipulability. After a reflexion on some of the issues, the more technical part of this paper is devoted to an attempt to construct a system of combinators that is better amenable to manipulation than the classical ones.
KeywordsFunction Type Parallel Composition Serial Composition Function World Recursive Definition
Unable to display preview. Download preview PDF.
- 1.R. S. Bird. An introduction to the Theory of Lists. Logic of Programming and Calculi of Discrete Design (M. Broy, ed.) 5–42. NATO ASI Series Vol. F36, 1987. Springer-Verlag.Google Scholar
- 2.R.S. Bird. Lectures on Constructive Functional Programming. Lecture notes, International Summer School on Constructive Methods in Computing Science, Marktoberdorff, 1988.Google Scholar
- 3.E.W. Dijkstra, W.H.J. Feijen. A Method of Programming. Addison-Wesley, 1988.Google Scholar
- 4.L. Meertens. Algorithmics—Towards programming as a mathematical activity. Proc. CWI Symp. on Mathematics and Computer Science, CWI Monographs Vol. 1 (J.W. de Bakker, M. Hazewinkel and J.K. Lenstra, eds.) 289–334, North-Holland, 1986.Google Scholar