The next 700 programming languages

2 min read Original article ↗

Several features on this page require Premium Access.

Abstract

A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework. This framework dictates the rules about the uses of user-coined names, and the conventions about characterizing functional relationships. Within this framework the design of a specific language splits into two independent parts. One is the choice of written appearances of programs (or more generally, their physical representation). The other is the choice of the abstract entities (such as numbers, character-strings, list of them, functional relations among them) that can be referred to in the language.

The system is biased towards “expressions” rather than “statements.” It includes a nonprocedural (purely functional) subsystem that aims to expand the class of users' needs that can be met by a single print-instruction, without sacrificing the important properties that make conventional right-hand-side expressions easy to construct and understand.

Formats available

You can view the full content in the following formats:

References

[1]

LANDIN, P. J. The mechanical evaluation of expressions. Comput. J. 6, 4 (Jan. 1964), 308-320.

[2]

---. A correspondence between ALGOL 60 arid Church's Lambda-notation. Comm. ACM 8 (1965), 89-101; 158-165.

[3]

---. A formal description of ALGOL 60. In Formal Language Description Languages for Computer Programming, T. B. Steel, Jr. (Ed.), North Holland, Amsterdam, 1965.

[4]

---. An abstract machine for designers of computing languages. (Summary). IFIP65 Proc., Part II.

Affiliations

P. J. Landin

Univac Division of Sperry Rand Corp., New York, NY