Over 4000 free audio and video lectures, seminars and teaching resources from Oxford University.
Skip to Content Skip to Navigation

What are types for?

Loading Video...
Duration: 0:31:40 | Added: 26 Jun 2017
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.

Copy and paste this HTML snippet to embed the audio or video on your site: