Christopher Strachey (1916–1975) was a pioneering computer scientist and the founder of the Programming Research Group, now part of the Department of Computer Science at Oxford University. Although Strachey was keenly interested in the practical aspects of computing, it is in the theoretical side that he most indelibly left his mark, notably by creating with Dana Scott the denotational (or as he called it, ‘mathematical’) approach to defining the semantics of programming languages. Strachey also spent time writing complex programs and puzzles for various computers, such as a draughts playing program for the Pilot ACE in 1951. He developed some fundamental concepts of machine-independent operating systems, including an early suggestion for time-sharing, and was a prime mover in the influential CPL programming language. Strachey came from a notable family of intellectuals and artists, perhaps most famous for Christopher’s uncle Lytton, a writer and member of the Bloomsbury group.
We will be marking the occasion of 100 years since Christopher Strachey's birth on Saturday 19th November 2016, three days after his birthday, with a symposium of invited speakers. The morning will look back at Strachey’s life and works from a historical and technical perspective, and the afternoon will concern continuing research themes in Computer Science inspired by Strachey, at Oxford and elsewhere. There will also be a display of related archival material on Friday 18th November for anyone interested.
There will be an exhibition of selected material from the Strachey Archive at the Bahari Room of the Weston Library, on Friday, 18 November. There will be two slots for attending the exhibition, one at 3pm and one at 4pm.
The talks will be preceded by a conference dinner at Hertford College, on the evening of Friday, 18 November. Attendance is again optional.
The talks will take place on Saturday, 19 November. The morning talks will be historical, focussing on Strachey's contributions to Computer Science, whereas the afternoon talks will comprise a forward-looking session in areas of Strachey's interest.
|Morning: Historical Talks|
Martin Campbell-Kelly: "Strachey: the Bloomsbury Years"
Joe Stoy: "Strachey and the Oxford Programming Research Group"
Martin Richards: "Strachey and the development of CPL"
Chrisopher Strachey was the most significant contributor to the design and implementation of the programming language CPL. At the time there was little understanding of the complexities of computer language design and how type systems could cope with lists and the kinds of structures needed to represent, for instance, parse trees. The CPL project cannot be regarded as being successful since it did not result in a usable CPL compiler. The reasons being that the language became too large and complicated, there were insufficient people to implement the compiler and, in the middle of the three year project, all work had to be transferred from Edsac 2 to Titan, a newly designed version of the Ferranti Atlas computer which as yet had no operating system. Even so, we can be proud of the work that went into CPL and its influence on the design of many later languages.
Peter Mosses: "SIS, a semantics implementation system"
abstract slides (Keynote)
During my DPhil studies, supervised by Christopher Strachey, I developed a prototype of a system for executing programs based on their denotational semantics. It involved partial evaluation of lambda-notation, implemented using Wadsworth's call-by-need algorithm. I continued the development of the system as a postdoc at Oxford, and subsequently at Aarhus, Denmark. The system was called SIS: Semantics Implementation System.
In this talk, I recall Strachey's influence on my research and on the development of SIS, starting from his summer school course on symbolic computation at the PRG in 1969.
Robert Milne: "Semantic relationships: reducing
the separation between practice and theory"
Christopher Strachey believed that the gap between theory and practice was impeding the development of computing science. In my talk I shall consider how our work together on the essay that ultimately became our book tried to narrow the gap, by formalising, and reasoning about, the implementation concepts for programming languages. A particular focus will be the proof techniques for imperative programs that use storage, which were implicit, but not very easy to discern, in the book.
|12:15||Panel: Roger Penrose, David Hartley, Michael Jackson. Chair: Bernard Sufrin.|
|Afternoon: Forward-Looking Session|
Jane Hillston: "A modelling language approach to
defining mathematical structures via semantics"
Philip Wadler: "Christopher Strachey,
The talk will review Christopher Strachey's influence on modern-day functional programming languages.
Hongseok Yang: "Probabilistic Programming"
Uday Reddy: "Parametric Polymorphism and models of storage"
Jeremy Gibbons: "What are types for?"
Types in programming languages are commonly thought of as a way of preventing certain bad things from happening, such as multiplying a number by a string. But this is only half of the benefit of types: it is what types are against. Types in programming languages are also what enable some good things to happen, such as selecting the right implementation of a heterogeneous operation like comparison or printing based on type information; this is what are types for. This ability is surprisingly powerful, and gives rise to a variety of highly expressive generic programming techniques. I will illustrate with some examples based on the rank-polymorphic array operations introduced in Iverson’s APL: not only does the type information prevent array shape errors, it is what directs the lifting of operations across array dimensions.
UPDATE: Registration for the conference has closed
There will be a conference dinner at Hertford College, on Friday the 18th. The cost of the dinner is £26.40, and registration is possible through the 'extras' section of the registration page.
There will also be an exhibition of items from the Strachey archive on the afternoon of the 18th. Please complete the checkbox to show your interest in the exhibition when registering. You will be informed whether you have a place on the 3pm or 4pm slot in advance.
Oxford is within easy reach from London, by train or coach, as well as from Heathrow and Gatwick airports through the Oxford Airline service. Instructions for those intending to drive may be found here.
The Department of Computer Science is a few minutes' walk from the Oxford city centre.
We have reserved a number of rooms at Cotswold Lodge and Linton Lodge at preferential rates. Please contact Karen Barnes for further information. The rates are:
Alternatively, there is a wide variety of other options for accommodation. One may individually book a room in college, choose between private rooms and flats, and even short-term properties to rent. There are numerous bed and breakfasts (B&B) and guest houses; those at an advantageous location include the Cotswold Lodge Hotel, rooms at the Rewley House, the Linton Lodge Hotel, the Parklands, and the Galaxie Hotel. The most convenient locations are the city centre, Jericho, and Summertown. Botley Road, Abingdon Road, or the general Cowley Road and Iffley Road areas are less than half an hour's walk from the Department, and most are reachable by reliable bus services.
Department of Computer Science
University of Oxford
Wolfson Building, Parks Road
OX1 3QD Oxford