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.

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