Skip to main content
Home

Main navigation

  • Home
  • Series
  • People
  • Depts & Colleges
  • Open Education

Main navigation

  • Home
  • Series
  • People
  • Depts & Colleges
  • Open Education

Parametric Polymorphism and models of storage

Series
Strachey 100: an Oxford Computing Pioneer
Video Embed
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 mathematics, some twenty years earlier, for which Eilenberg and MacLane proposed a “General Theory of Natural Equivalences”, what we now call category theory. Relating the two notions allows us to develop a broad view of “parametricity” (the idea of acting the same way for all types), which
is applicable not only to programming languages but also to mathematics and perhaps other disciplines. A particularly important application of this broad view is for Strachey’s “mathematical semantics” of programming languages.

For modelling imperative programming languages that operate by manipulating a store, Strachey presented a basic model of storage based on “locations”, while promising a further paper on an “abstract model of storage” to appear in future. Unfortunately the latter never appeared. In succeeding work, Reynolds proposed an abstract model of store as well as an “intuitionistic” functor category approach to model the stack discipline of the store. O'Hearn and Tennent made the crucial observation that the model needs to be embellished with parametricity to capture the data abstraction aspects of the store.

In this talk, Uday reviews these developments as well as his own recent work on integrating the Reynolds model with parametricity to capture the fact that state changes of the store are irreversible. One way to understand these developments is to view them as a “parametric mathematical semantics” of programming languages.

More in this series

View Series
Journey of a Molecular Detective; David Sherratt

Christopher Strachey, First-Class Citizen

Philip reviews Christopher Strachey’s influence on modern-day functional programming languages.
Previous
Journey of a Molecular Detective; David Sherratt

Strachey and the Oxford Programming Research Group

Christopher Strachey’s right-hand man at Oxford talks about Strachey’s time as the head of the Programming Research Group (PRG).
Next

Episode Information

Series
Strachey 100: an Oxford Computing Pioneer
People
Uday Reddy
Keywords
Semantics of programming languages
type theory
storage models
polymorphism
Department: Department of Computer Science
Date Added: 26/06/2017
Duration: 00:40:29

Subscribe

Apple Podcast Video Video RSS Feed

Download

Download Video

Footer

  • About
  • Accessibility
  • Contribute
  • Copyright
  • Contact
  • Privacy
  • Login
'Oxford Podcasts' Twitter Account @oxfordpodcasts | MediaPub Publishing Portal for Oxford Podcast Contributors | Upcoming Talks in Oxford | © 2011-2022 The University of Oxford