As part of his secondment at NOVA, Prof Simon Gay gave a talk titled ‘Cables, Trains and Types’ last October, 2019.
Many concepts of computing science can be illustrated in ways that do not require programming. For example, “CS Unplugged” is a well-known resource for that purpose. However, the illustrations in “CS Unplugged” and elsewhere focus on topics such as algorithmics, cryptography, logic and data representation, to the neglect of topics in programming language foundations, such as semantics and type theory. This paper begins to redress the balance by illustrating the principles of static type systems in two non-programming scenarios where there are physical constraints on forming connections between components. The first scenario involves serial cables and the ways in which they can be connected. The second example involves model railway layouts and the ways in which they can be constructed from individual pieces of track. In both cases, the physical constraints can be viewed as a type system, such that typable systems satisfy desirable semantic properties.
The full details of the talk given can be found [here]