Nonprocedural programming

  • B. M. Leavenworth
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 23)


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.


Binary Tree Pattern Match Choice Function Input String Access Path 
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.


  1. D.G. Bobrow and B. Raphael, "New Programming Languages for AI Research", Tutorial presented at 3rd IJCAI, Stanford, California, August, 1974.Google Scholar
  2. W.H. Burge, "McG — A Functional Programming System", Report RC 2189, IBM Research Division, Yorktown Heights, N.Y. August 1968.Google Scholar
  3. W.H. Burge, "Combinatory Programming and Combinatorial Analysis", IBM Journal of Research and Development, Vol. 16, No. 5 (Sept. 1972).Google Scholar
  4. J. Cohen and E. Carton, "Non-deterministic FORTRAN", Computer Journal, Vol. 17, No. 1, (May 1974).Google Scholar
  5. J. Earley, "Relational Level Data Structures for Programming Languages", Acta Information Vol. 2 Fasc. 4 1973.Google Scholar
  6. A. Evans, "PAL — A Language designed for teaching Programming Linguistics", Proceedings ACM 23rd National Conference, 1968.Google Scholar
  7. 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).Google Scholar
  8. R.W. Floyd, "Nondeterministic Algorithms", JACM Vol. 14 (Oct. 1967).Google Scholar
  9. R.E. Griswold, J.F. Poage and I.P. Polonsky, The SNOBOL4 Programming Language, Prentice-Hall, Englewood Cliffs, New Jersey, 1968.Google Scholar
  10. D.E. Knuth, "Fundamental Algorithms", Vol. 1, The Art of Computer Programming, Addison-Wesley, Reading, Mass., 1968.Google Scholar
  11. P.J. Landin, "The Next 700 Programming Languages", CACM Vol. 9, No. 3 (March 1966).Google Scholar
  12. 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).Google Scholar
  13. J.C. Reynolds, "GEDANKEN: A Simple Typeless Language Based on the Principle of Completeness and the Reference Concept", CACM Vol. 13, No. 5Google Scholar
  14. J.C. Reynolds, "Definitional Interpreters for Higher-Order Programming Languages", Proceedings 27th ACM National Conference, 1972.Google Scholar
  15. R.D. Tennent, "Mathematical Semantics and Design of Programming Languages", PhD. Thesis, University of Toronto, 1973.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1975

Authors and Affiliations

  • B. M. Leavenworth
    • 1
  1. 1.Computer Sciences DepartmentIBM Thomas J. Watson Research CenterYorktown Heights

Personalised recommendations