The Mechanical Evaluation of Expressions

  title={The Mechanical Evaluation of Expressions},
  author={Peter J. Landin},
  journal={Comput. J.},
This paper is a contribution to the "theory" of the activity of using computers. It shows how some forms of expression used in current programming languages can be modelled in Church's X-notation, and then describes a way of "interpreting" such expressions. This suggests a method, of analyzing the things computer users write, that applies to many different problem orientations and to different phases of the activity of using a computer. Also a technique is introduced by which the various… 

Programming language semantics and closed applicative languages

This paper proposes axioms to define a sequence of language-classes; the most general is that of "programming language", the most restricted has some simple and attractive properties. Here "language"

Correspondence between ALGOL 60 and Church's Lambda-notation

A model for computer languages and computer behavior is described, based on the notions of functional application and functional abstraction, but also having analogues for imperative language features.

The denotational semantics of programming languages

This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey and presents a formal definition of the language GEDANKEN.

Programming Languages as Technical Artifacts

In this paper, it is argued that an appropriate conceptualization is furnished by the notion of a technical artifact.

The next 700 programming languages

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

A Data Definition Facility for Programming Languages

  • T. Standish
  • Computer Science
    Outstanding Dissertations in the Computer Sciences
  • 1967
This dissertation presents a descriptive notation for data structures which is embedded in a programming language in such a way that the resulting language behaves as a synthetic tool for describing

A presentation of the Curry-Howard Correspondance

The programming with proofs paradigm is a topic in active progress, and the present developments of the Curry Howard Correspondence generate beautiful and deep exchanges of intuitions and problems between Computer Science, Proof Theory and Mathematics.

Logic and Computers

Shortly after the appearance of the first computers, that is computing machines with stored programs, there arose the problem of how to communicate efficiently with them, especially how to simplify

Programming Languages as Mathematical Theories

The claim that programming languages are (semantically) mathematical theories is explored, which will force us to discuss the normative nature of semantics, the nature of mathematical theories, the role of theoretical computer science and the relationship between semantic theory and language design.



Recursive functions of symbolic expressions and their computation by machine, Part I

A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with

LISP 1.5 Programmer's Manual

The LISP language is designed primarily for symbolic data processing used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing,


Word and Object

This edition offers a new preface by Quine's student and colleague Dagfinn Follesdal that describes the never-realized plans for a second edition of Word and Object, in which Quine would offer a more unified treatment of the public nature of meaning, modalities, and propositional attitudes.

The calculi of lambda-conversion

The description for this book, The Calculi of Lambda Conversion. (AM-6), will be forthcoming.

An ALGOL60 Translator for the XI

  • Automatic Programming Bulletin
  • 1962

and in Dijkstra's mechanism [4])

  • and in Dijkstra's mechanism [4])

Substitution Processes

  • Substitution Processes
  • 1962