Skip to main content
Home

Main navigation

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

Main navigation

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

What are types for?

Series
Strachey 100: an Oxford Computing Pioneer
Video Embed
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. Jeremy illustrates 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.

More in this series

View Series
Journey of a Molecular Detective; David Sherratt

Parametric Polymorphism and models of storage

In this presentation, Uday brings together two strands of Christopher Strachey’s thought: parametric polymorphism and abstract models of storage.
Previous

Episode Information

Series
Strachey 100: an Oxford Computing Pioneer
People
Jeremy Gibbons
Keywords
type theory
programming languages
Department: Department of Computer Science
Date Added: 26/06/2017
Duration: 00:31:40

Subscribe

Apple Podcast Video Video RSS Feed

Download

Download Video

Footer

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