Episodes
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...
Published 06/26/17
In this presentation, Uday brings together two strands of Christopher Strachey’s thought: parametric polymorphism and abstract models of storage. The term parametric polymorphism was introduced in by Strachey who distinguished it from “ad hoc” polymorphism. In the words of John Reynolds, “a parametric polymorphic function is one that behaves the same way for all types,” whereas an ad hoc polymorphic function may have unrelated meanings at different types. A very similar intuition arose in...
Published 06/26/17
Hongseok begins by talking about a program of Strachey’s that wrote “love letters” using the Manchester University computer. He then uses this as a lead in for discussing probabilistic methods of generating algorithms and programs.
Published 06/26/17
Philip reviews Christopher Strachey’s influence on modern-day functional programming languages.
Published 06/26/17
In this talk, Jane presents about her work on modelling dynamic behaviour of systems using quantative modelling techniques. Particular kinds of modelling diagrams are used and a mathematical approach to looking at their meaning is presented.
Published 06/26/17
The logician Dana Scott played a crucial part in the story of denotational semantics, working for a term with Christopher Strachey in Autumn 1969, when he created a mathematical model for the foundation of the method. In this talk, Dana discusses this period as well as reminiscing about his life and career up to that point.
Published 06/26/17
In this panel discussion, three people who knew Christopher Strachey in different contexts talk about their memories of him. Michael Jackson discusses being taught by Strachey as a boy at Harrow, David Hartley talks about work with Strachey on the programming language CPL, and Roger Penrose remembers working with Strachey at the National Research Development Corporation and introducing him to lambda calculus.
Published 06/26/17
Christopher Strachey believed that the gap between theory and practice was impeding the development of computing science. In Robert’s talk, he considers how the work he did with Strachey on the essay that ultimately became their 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...
Published 06/26/17
During Peter’s DPhil studies, supervised by Christopher Strachey, he 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. He 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, Peter recalls Strachey's influence on his...
Published 06/26/17
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...
Published 06/26/17
Christopher Strachey’s right-hand man at Oxford talks about Strachey’s time as the head of the Programming Research Group (PRG). The talk covers the foundation of the PRG and the research performed at the (PRG), with an emphasis on the equal importance of theoretical and practical work.
Published 06/26/17
A historian’s perspective on the earlier years of Christopher Strachey’s life. The talk covers his familial connections, his early career as a school master, and his first computing projects.
Published 06/26/17