Academia.eduAcademia.edu

Outline

Away from the operations view of computer science

Abstract

We argue that classical programming languages are based on a fundamentally mistaken emphasis on the operational aspect of computation. These languages are seen as the means by which the programmer brings about particular kinds of operational activity (such as procedure calling or message passing). We suggest an alternate philosophy which places the emphasis on static, extensional (mathematical) concepts such as that of function or sequence. We outline a simple functional language (Luswim) based on these principles. The Luswim programmer specifies the desired output, and operational concepts such as dataflow, message passing or coroutine linkage can be used to 'evaluate' the specification. Operational activity occupies its proper place, namely as means to an end rather than an end in itself.

References (6)

  1. Edward A. Ashcroft and William W. Wadge. Lucid, a nonprocedural language with iteration. Commun. ACM, 20(7):519-526, 1977. http://doi.acm.org/10.1145/359636.359715.
  2. Edward A. Ashcroft and William W. Wadge. Clauses: Scope structures and defined functions in Lucid. In POPL, pages 17-22, 1978.
  3. Gilles Kahn. The semantics of simple language for parallel programming. In IFIP Congress, pages 471-475, 1974.
  4. Robert A. Kowalski. Predicate logic as programming language. In IFIP Congress, pages 569-574, 1974.
  5. Peter J. Landin. The next 700 programming languages. Commun. ACM, 9(3):157-166, 1966.
  6. Jean Vuillemin. Correct and optimal implementations of recursion in a simple programming language. J. Comput. Syst. Sci., 9(3):332-354, 1974.