Abstract
Nonprocedural programming involves the suppression of unnecessary detail from the statement of an algorithm. The conventional representation of an algorithm as a step by step sequential procedure often obscures the essential nature of the procedure. In many cases, algorithms are more transparent when stated recursively, combinatorially or nondeterministically. The paper discusses these three styles of programming and gives examples of their use. The elimination of certain low level features of traditional programming and their replacement by these and other techniques (associative referencing, aggregate operators and pattern matching) is advocated in order to raise the level of algorithm description.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
D.G. Bobrow and B. Raphael, "New Programming Languages for AI Research", Tutorial presented at 3rd IJCAI, Stanford, California, August, 1974.
W.H. Burge, "McG — A Functional Programming System", Report RC 2189, IBM Research Division, Yorktown Heights, N.Y. August 1968.
W.H. Burge, "Combinatory Programming and Combinatorial Analysis", IBM Journal of Research and Development, Vol. 16, No. 5 (Sept. 1972).
J. Cohen and E. Carton, "Non-deterministic FORTRAN", Computer Journal, Vol. 17, No. 1, (May 1974).
J. Earley, "Relational Level Data Structures for Programming Languages", Acta Information Vol. 2 Fasc. 4 1973.
A. Evans, "PAL — A Language designed for teaching Programming Linguistics", Proceedings ACM 23rd National Conference, 1968.
T.I. Fenner, M.A. Jenkins and R.D. Tennent, "QUEST: The Design of a Very High Level Pedagogic Programming Language", SIGPLAN Notices, Vol. 8, No. 2 (Feb. 1973).
R.W. Floyd, "Nondeterministic Algorithms", JACM Vol. 14 (Oct. 1967).
R.E. Griswold, J.F. Poage and I.P. Polonsky, The SNOBOL4 Programming Language, Prentice-Hall, Englewood Cliffs, New Jersey, 1968.
D.E. Knuth, "Fundamental Algorithms", Vol. 1, The Art of Computer Programming, Addison-Wesley, Reading, Mass., 1968.
P.J. Landin, "The Next 700 Programming Languages", CACM Vol. 9, No. 3 (March 1966).
B.M. Leavenworth and J.E. Sammet, "An Overview of Nonprocedural Languages", Proceedings Symposium on Very High Level Languages, SIGPLAN Notices Vol. 9, No. 3 (April 1974).
J.C. Reynolds, "GEDANKEN: A Simple Typeless Language Based on the Principle of Completeness and the Reference Concept", CACM Vol. 13, No. 5
J.C. Reynolds, "Definitional Interpreters for Higher-Order Programming Languages", Proceedings 27th ACM National Conference, 1972.
R.D. Tennent, "Mathematical Semantics and Design of Programming Languages", PhD. Thesis, University of Toronto, 1973.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1975 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Leavenworth, B.M. (1975). Nonprocedural programming. In: Hackl, C.E. (eds) Programming Methodology. IBM 1974. Lecture Notes in Computer Science, vol 23. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-07131-8_34
Download citation
DOI: https://doi.org/10.1007/3-540-07131-8_34
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-07131-0
Online ISBN: 978-3-540-37401-5
eBook Packages: Springer Book Archive