Fundamental Concepts in Programming Languages

  title={Fundamental Concepts in Programming Languages},
  author={Christopher S. Strachey},
  journal={Higher-Order and Symbolic Computation},
  • C. Strachey
  • Published 1 April 2000
  • Computer Science
  • Higher-Order and Symbolic Computation
This paper forms the substance of a course of lectures given at the International Summer School in Computer Programming at Copenhagen in August, 1967. The lectures were originally given from notes and the paper was written after the course was finished. In spite of this, and only partly because of the shortage of time, the paper still retains many of the shortcomings of a lecture course. The chief of these are an uncertainty of aim—it is never quite clear what sort of audience there will be for… 
The Standard Model for Programming Languages: The Birth of a Mathematical Theory of Computation
  • S. Martini
  • Computer Science
    Gabbrielli's Festschrift
  • 2020
Despite the insight of some of the pioneers (Turing, von Neumann, Curry, Bohm), programming the early computers was a matter of fiddling with small architecture-dependent details. Only in the sixties
The Algol Research Programme
This chapter suggests that what changed the face of programming was not simply the Algol 60 language, but rather a coherent and comprehensive research programme within which the Al gol 60 report had the status of a paradigmatic achievement, in the sense defined by the historian of science Thomas Kuhn.
Evolving a language in and for the real world: C++ 1991-2006
Various uses of C++ and the technical and commercial pressures that provided the background for its continuing evolution are discussed, including the emergence of generic programming and the STL (the C++ standard library's algorithms and containers).
Object-Oriented Programming in Explicit Mathematics: Towards the Mathematics of Objects
This thesis deals with the mathematical meaning of object-oriented programming languages, taking overloading and late-binding as basic rather than encapsulation, and presents a recursion-theoretic interpretation of Featherweight Java.
Design Patterns for Teaching Type Checking in a Compiler Construction Course
This paper shows how object-oriented design patterns represented in unified modeling language (UML) can be used to both teach type systems and develop the semantic analysis phase of a compiler.
Principals in Programming Languages : Technical ResultsSteve
This paper describes two variants of the simply typed-calculus extended with a notion of principal in languages in which intuitive statements like "the client must call open to obtain a le handle" can be phrased and proven formally.
Principals in Programming Languages: Technical Results
Two variants of the simply typed λ-calculus extended with a notion of principal are described, which are languages in which intuitive statements like “the client must call open to obtain a file handle” can be phrased and proven formally.
Free theorems in languages with real-world programming features
This thesis develops and implements a counterexample generator that tells if and why restrictions on a certain free theorem arise due to general recursion, and develops a refined type system that allows to localize the impact of forced strict evaluation.
A language for generic programming
This dissertation presents and evaluates the design of a new programming language, named G (for generic), that integrates the generic programming specification language with the type system and features of a full programming language.
The history of Standard ML
The early history of ML, the subsequent efforts to define a standard ML language, and the development of its major features and its formal definition are covered.


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.
On the formal definition of PL/I
  • K. Bandat
  • Computer Science, Linguistics
    AFIPS '68 (Spring)
  • 1968
This paper describes a formal definition of PL/I which has been produced by a group in the IBM Vienna Laboratory. The paper contains the outlines of the method rather than details of PL/I. The
The Mechanical Evaluation of Expressions
It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write.
The Main Features of CPL
The paper provides an informal account of CPL, a new programming language currently being implemented for the Titan at Cambridge and the Atlas at London University. CPL is based on, and contains the
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 classification of democratic regime types: Conceptual ambiguity and contestable assumptions
This article examines the classification of regime types. It shows that most writers classify regime types with reference to both their dispositional properties (whether there is a president and/or a
Problems in the Theory of Computation
A number of theoretical problems whose solutions seems feasible and likely to advance the practical art of computation are identified and discussed.
The Institutional Foundations of Demo­cratic Government: A Comparison of Presidential and Parliamentary Systems
As democracy has swept the world, the euphoria of freedom has given way to more practical concerns. The ones we hear about most are economic, as nations try to make the transition from
The analysis of political systems
Originally published between 1943 and 1969, titles in this set were written against a backdrop of rapid and radical political change. This set contains volumes by key political and sociological
Making and breaking governments
Series editors' preface Acknowledgements Part I. The Context: 1. Theory, institutions, and government formation 2. The social context of government formation 3. The government formation process Part