Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12065))

  • 829 Accesses

Abstract

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.

Supported by the UK EPSRC grant EP/K034413/1, “From Data Types to Session Types: A Basis for Concurrency and Distribution (ABCD)”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Brio. www.brio.uk

  2. CS Unplugged. csunplugged.org

  3. Hornby. www.hornby.com

  4. Theoretical Computer Science. www.journals.elsevier.com/theoretical-computer-science

  5. Thomas & Friends. www.thomasandfriends.com

  6. Abramsky, S., Gay, S.J., Nagarajan, R.: Interaction categories and the foundations of typed concurrent programming. In: Broy, M. (ed.) Proceedings of the NATO Advanced Study Institute on Deductive Program Design, pp. 35–113 (1996)

    Google Scholar 

  7. Awdrey, W.: Thomas the tank engine (1946)

    Google Scholar 

  8. Girard, J.-Y.: Linear logic. Theoret. Comput. Sci. 50, 1–102 (1987)

    Article  MathSciNet  Google Scholar 

  9. Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Math. Proc. Cambridge Philos. Soc. 119(3), 447–468 (1996)

    Article  MathSciNet  Google Scholar 

  10. Kelly, G.M., Laplaza, M.L.: Coherence for compact closed categories. J. Pure Appl. Algebra 19, 193–213 (1980)

    Article  MathSciNet  Google Scholar 

  11. Ştefănescu, G.: Network Algebra. Springer, Heidelberg (2000). https://doi.org/10.1007/978-1-4471-0479-7

    Book  MATH  Google Scholar 

  12. Victor, B.: Alligator eggs. worrydream.com/AlligatorEggs

Download references

Acknowledgements

I am grateful to Ornela Dardha, Conor McBride and Phil Wadler for comments on this paper and the seminar on which it is based; to João Seco for telling me about the Alligator Eggs presentation of untyped \(\lambda \)-calculus; and to an anonymous reviewer for noticing a small error.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simon J. Gay .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Gay, S.J. (2020). Cables, Trains and Types. In: Di Pierro, A., Malacaria, P., Nagarajan, R. (eds) From Lambda Calculus to Cybersecurity Through Program Analysis. Lecture Notes in Computer Science(), vol 12065. Springer, Cham. https://doi.org/10.1007/978-3-030-41103-9_1

Download citation

Publish with us

Policies and ethics