Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Robert D. Tennent is active.

Publication


Featured researches published by Robert D. Tennent.


Communications of The ACM | 1976

The denotational semantics of programming languages

Robert D. Tennent

This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey. The application of the theory to formal language specification is demonstrated and other applications are surveyed. The first language considered, LOOP, is very elementary and its definition merely introduces the notation and methodology of the approach. Then the semantic concepts of environments, stores, and continuations are introduced to model classes of programming language features and the underlying mathematical theory of computation due to Scott is motivated and outlined. Finally, the paper presents a formal definition of the language GEDANKEN.


Journal of the ACM | 1995

Parametricity and local variables

Peter W. O'Hearn; Robert D. Tennent

We propose that the phenomenon of local state may be understood in terms of Stracheys concept of parametric (i.e., uniform) polymorphism. The intuitive basis for our proposal is the following analogy: a non-local procedure is independent of locally-declared variables in the same way that a parametrically polymorphic function is independent of types to which it is instantiated. A connection between parametricity and representational abstraction was first suggested by J.C. Reynolds. Reynolds used logical relations to formalize this connection in languages with type variables and user-defined types. We use relational parametricity to construct a model for an Algol-like language in which interactions between local and non-local entities satisfy certain relational criteria. Reasoning about local variables essentially involved proving properties of polymorphic functions. The new model supports straightforward validations of all the test equivalences that have been proposed in the literature for local-variable semantics, and encompasses standard methods of reasoning about data representations. It is not known whether our techniques yield fully abstract semantics. A model based on partial equivalence relations on the natural numbers is also briefly examined.


Acta Informatica | 1977

Language design methods based on semantic principles

Robert D. Tennent

SummaryTwo language design methods based on principles derived from the denotational approach to programming language semantics are described and illustrated by an application to the language Pascal. The principles are, firstly, the correspondence between parametric and declarative mechanisms, and secondly, a principle of abstraction for programming languages adapted from set theory. Several useful extensions and generalizations of Pascal emerge by applying these principles, including a solution to the array parameter problem, and a modularization facility.


Theoretical Computer Science | 1999

Syntactic control of interference revisited

Peter W. O'Hearn; A.J. Power; M. Takeyama; Robert D. Tennent

In “Syntactic Control of Interference” [33] J. C. Reynolds proposes three design principles intended to constrain the scope of imperative state effects in Algol-like languages. The resulting linguistic framework seems to be a very satisfactory way of combining functional and imperative concepts, having the desirable attributes of both purely functional languages (such as PCF) and simple imperative languages (such as the language of while programs).


symposium on principles of programming languages | 1993

Relational parametricity and local variables

Peter W. O'Hearn; Robert D. Tennent

J. C. Reynolds suggested that Stracheys intuitive concept of “parametric” (i.e., uniform) polymorphism is closely linked to representation independence, and used logical relations to formalize this principle in languages with type variables and user-defined types. Here, we use relational parametricity to address long-standing problems with the semantics of local-variable declarations, by showing that interactions between local and non-local entities satisfy certain relational criteria. The new model is based on a cartesian closed category of “relation-preserving” functors and natural transformations which is induced by a suitable category of “possible worlds” with relations assigned to its objects and morphisms. The semantic interpretation supports straightforward validations of all the test equivalences that have been proposed in the literature, and encompasses standard methods of reasoning about data representations; however, it is not known whether it is fully abstract.


Information & Computation | 1990

Semantical analysis of specification logic

Robert D. Tennent

Abstract The “specification logic” of J. C. Reynolds is a partial-correctness logic for Algol 60-like languages with procedures. It is interpreted here as an intuitionistic theory, using a form of possible-world semantics first applied to programming language interpretation by J. C. Reynolds and F. J. Oles to give an abstract treatment of stack-oriented storage management. The model provides a satisfactory solution to all previously known problems with the interpretation of specification logic; however, unexpected new problems have been discovered in doing this work, and these remain unsolved.


international symposium on theoretical aspects of computer software | 1997

An Axiomatic Approach to Binary Logical Relations with Applications to Data Refinement

Yoshiki Kinoshita; Peter W. O'Hearn; A. John Power; Makoto Takeyama; Robert D. Tennent

We introduce an axiomatic approach to logical relations and data refinement. We consider a programming language and the monad on the category of small categories generated by it. We identify abstract data types for the language with sketches for the associated monad, and define an axiomatic notion of “relation” between models of such a sketch in a semantic category. We then prove three results: (i) such models lift to the whole language together with the sketch; (ii) any such relation satisfies a soundness condition, and (iii) such relations compose. We do this for both equality of data representations and for an ordered version. Finally, we compare our formulation of data refinement with that of Hoare.


Electronic Notes in Theoretical Computer Science | 1995

Syntactic Control of Interference Revisited

Peter W. O'Hearn; A.J. Power; M. Takeyama; Robert D. Tennent

Abstract In “Syntactic Control of Interference” (POPL, 1978), J. C. Reynolds proposes three design principles intended to constrain the scope of imperative state effects in Algol-like languages. The resulting linguistic framework seems to be a very satisfactory way of combining functional and imperative concepts, having the desirable attributes of both purely functional languages (such as PCF) and simple imperative languages (such as the language of while programs). However, Reynolds points out that an “obvious” syntax for interference control has the unfortunate property that β-reductions do not always preserve typings. Reynolds has subsequently presented a solution to this problem (ICALP, 1989), but it is fairly complicated and requires intersection types in the type system. Here, we present a much simpler solution which does not require intersection types. We first describe a new type system inspired in part by linear logic and verify that reductions preserve typings. We then define a class of “bireflective” models, which are shown to provide a sound interpretation of the type system; a companion paper, “Bireflectivity”, in this volume provides a categorical analysis of these models. Finally, we describe a concrete model for an illustrative programming language based on the new type system; this improves on earlier such efforts in that states are not assumed to be structured using locations.


symposium on principles of programming languages | 1973

Mathematical semantics of SNOBOL4

Robert D. Tennent

This paper analyzes the semantics of the programming language SNOBOL4, following the mathematical approach proposed by D. Scott and C. Strachey. The study aims at clarifying a rather unusual semantic structure, and at demonstrating that the mathematical approach can provide a natural and usable formal specification of a practical programming language.


Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 2000

Abstract Models of Storage

Robert D. Tennent; Dan R. Ghica

This note is a historical survey of Christopher Stracheys influence on the development of semantic models of assignment and storage management in procedural languages.

Collaboration


Dive into the Robert D. Tennent's collaboration.

Top Co-Authors

Avatar

Peter W. O'Hearn

Queen Mary University of London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

A.J. Power

University of Edinburgh

View shared research outputs
Top Co-Authors

Avatar

Dan R. Ghica

University of Birmingham

View shared research outputs
Top Co-Authors

Avatar

M. Takeyama

University of Edinburgh

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Makoto Takeyama

National Institute of Advanced Industrial Science and Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge