Algorithms and algebra
The algebraic definition of an algorithm given above is wider than the classical one. It is an abstract definition based on a signature only, and allows interpretation by any computational structure of this signature. Even introducing a set of properties does not necessarily determine the interpretation completely. This freedom is an advantage, it allows to treat a number of related algorithms under one single roof. Moreover, even for a given monomorphic type algorithms can be non-deterministic. This freedom allows to go to special descendants which show increased efficiency, including deterministic ones.
Both degrees of freedom can be used in a program development process in order to delay design decisions.
In particular, such an abstract algebraic definition of algorithms (in conjunction with the abstract definition of types and of congruence relations in the term algebra giving representants of the computational structures of such a type) is a step to become liberated from the notational pressure that has darkened so much the genuine issues of programming.
Unable to display preview. Download preview PDF.
- BAUER 1978.Bauer, F. L., Detailization and Lazy Evaluation, Infinite Objects and Pointer Representation. In: Program Construction, Lecture Notes in Computer Science 69, Springer, Berlin 1979.Google Scholar
- BROY 1980.Broy, M., Transformation parallel ablaufender Programme. Dissertation, Technische Universität München 1980.Google Scholar
- DIJKSTRA 1975.
- ERSHOV 1977.Ershov, A. P., On the Essence of Compilation, Proc. IFIP Working Conf. on the Formal Description of Programming Concepts, North-Holland, Amsterdam 1978.Google Scholar
- FRIEDMAN, WISE 1976.Friedman, D. P., Wise, D. S., CONS Should not Evaluate its Arguments. In: Automata, Languages and Programming, Proceedings 1976. Edinburgh University Press 1976, p. 257–284.Google Scholar
- GUTTAG 1975.Guttag, J. V., The Specification and Application to Programming of Abstract Data Types, TR CSRG-59, September 1975, University of Toronto.Google Scholar
- HENDERSON, MORRIS 1976.Henderson, P., and Morris, J. H., A Lazy Evaluator. Proc. 3rd ACM Symp. on Principles of Programming Languages (January 1976), Atlanta, p. 95–103.Google Scholar
- MAC LANE 1971.Mac Lane, S., Categories for the Working Mathematician, Springer, New York 1971.Google Scholar
- MANNA 1974.Manna, Z., Mathematical Theory of Computation. McGraw-Hill, New York 1974.Google Scholar
- McCARTHY 1962.McCarthy, J., Towards a Mathematical Science of Computation. In: Information Processing 1962, North-Holland, Amsterdam 1963, p. 21–28.Google Scholar
- NIVAT 1975.Nivat, M., On the Interpretation of Recursive Program Schemes, Symposia Mathematica, Vol. XV, Istituto Nationale di Alta Matematica, 1975.Google Scholar
- SCOTT 1970.Scott, D., Outline of a Mathematical Theory of Computation. Proc. 4th Princeton Conference on Information Sciences and Systems, 1970.Google Scholar