Cables, trains and types

Gay, S. J. (2020) Cables, trains and types. Lecture Notes in Computer Science, 12065, pp. 3-16. (doi: 10.1007/978-3-030-41103-9_1)

[img] Text
212197.pdf - Accepted Version



Many concepts of computing science can be illustrated in ways that do not require programming. CS Unplugged is a well-known resource for that purpose. However, the examples 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.

Item Type:Articles
Additional Information:LCNS From Lambda Calculus to Cybersecurity Through Program Analysis pp 3-16.
Glasgow Author(s) Enlighten ID:Gay, Professor Simon
Authors: Gay, S. J.
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Lecture Notes in Computer Science
Published Online:15 February 2020
Copyright Holders:Copyright © 2020 Springer Nature Switzerland AG
First Published:First published in Lecture Notes in Computer Science 12065:3-16
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
168293From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1Computing Science