Network


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

Hotspot


Dive into the research topics where Michael J. C. Gordon is active.

Publication


Featured researches published by Michael J. C. Gordon.


symposium on principles of programming languages | 1978

A Metalanguage for interactive proof in LCF

Michael J. C. Gordon; Robin Milner; L. Morris; Malcolm C. Newey; Christopher P. Wadsworth

LCF (Icqic for Caqmtable Functions) is a prcof generating system mnsisting of an interactive programing language MG (MetaLmguage) for mnducting prcofs in PPA (Polynmrphic Predicate A-calculus) , a deductive calculus suitable for the formalisation of reasoning almut recursively defined functions, in particular about the syntax, semantics and iq?lementations of many prqrcmming languages. PPI is an enrichment (in respect of type structure and expressive pcwer) of an extended a-calculus due to Dana Scott and is fully discussed elsewhere [ 22 I . The puxposes of this paper are (a) to illustrate the features of ML which me it of general interest in language design quite independently of its use for machine assistd formal pxcof, (b) to illustrate ML applied to PPA, in encoding interesting prcof -finding-andperfonning procedures, and (c) to convey a methodology for controlled semiautomatic proof.


Archive | 1979

General concepts and notation

Michael J. C. Gordon

This chapter is rather long and tedious—it is a ’user manual’ for the notation and concepts we shall need. On first reading one should only look in detail at 3.1. and 3.2., the other sections should be quickly skimmed and then referred to later when their contents are used. Here is a quick overview of the main sections: 3.1. We explain the concept of ‘abstract syntax’—the kind of syntactic description convenient for semantics. 3.2. We explain why we use ”domains” rather than sets and discuss informally the role of the underlying mathematical theories. 3.3. We describe different kinds of domains and ways of building them. 3.4. We discuss the concept of a function and then describe numerous notations for manipulating them.


Archive | 1979

Denotational description of TINY

Michael J. C. Gordon

The purpose of the battery of abbreviatory conventions described in the preceding chapter is to provide a set of notations which are both powerful and concise. We would like the expressions and definitions we write— semantic clauses for example—to be both brief and readable. Unfortunately there is some conflict between these two requirements-compact notations are often hard to understand, but, conversely, long descriptions often hide the really important facts in a confusing morass of minor detail. Exactly how to trade off compactness versus explicit detail is still a matter of controversy and the reader must decide for himself whether powerful abbreviations (like the sequencing operator ⋆ of 3.4.12.2. for example) are a help or hinderance to understanding.


Archive | 1979

A second example: the Language SMALL

Michael J. C. Gordon

The language SMALL described in this chapter has two roles: (i) To illustrate the main ideas of standard semantics. (ii) To provide a ’kernel language’ which we shall extend as we discuss the semantics of various constructs in later chapters.


Archive | 1979

A first example: the language TINY

Michael J. C. Gordon

In this chapter we shall describe the syntax and semantics of a little programming language called TINY. Our purpose is to provide a vehicle for illustrating various formal concepts in use. In subsequent chapters we shall describe these concepts systematically but here we just sketch out the main ideas and associated techniques.


Archive | 1979

Various kinds of procedures and functions

Michael J. C. Gordon

In this chapter we discuss a number of ’dimensions’ along which procedures (and functions) can be varied. In outline these are: (i) Number of parameters. (ii) Possibility of recursion. (iii) Environment used to bind free identifiers (i.e. identifiers in the body which are not formal parameters). (iv) Coercion of the actual parameter value. (v) Evaluation of the actual parameter expression.


Archive | 1979

Escapes and Jumps

Michael J. C. Gordon

In this chapter we describe various constructs which change the ’flow of control’. From a semantic viewpoint the normal continuation is ignored and control passes to some other one. Constructs of this sort are sometimes called sequencers.


Archive | 1979

Edinburgh lcf lecture notes in computer science

Michael J. C. Gordon; Robin Milner; Christopher P. Wadsworth


The Computer Journal | 2002

Relating Event and Trace Semantics of Hardware Description Languages

Michael J. C. Gordon


Information Processing Letters | 1980

The denotational semantics of sequential machines

Michael J. C. Gordon

Collaboration


Dive into the Michael J. C. Gordon's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Robin Milner

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Malcolm C. Newey

Australian National University

View shared research outputs
Researchain Logo
Decentralizing Knowledge