School of Computing Science

Dr Simon Fowler

  • Lecturer in Programming Language Foundations (School of Computing Science)

email: Simon.Fowler@glasgow.ac.uk
pronouns: He/him/his

Office 510c, Sir Alwyn Williams Building, Glasgow, G12 8RZ

Import to contacts

ORCID iDhttps://orcid.org/0000-0001-5143-5475

Biography

I'm a Lecturer in Programming Language Foundations at the University of Glasgow School of Computing Science.

My research interests centre around typed functional programming languages, specifically in functional approaches to concurrency, web programming, and data management.

Previously, I worked on the STARDUST project, investigating behavioural types for actor systems, working with Simon Gay and Phil Trinder. Before that, I spent 6 years at the University of Edinburgh School of Informatics, first as a PhD student in the Centre for Doctoral Training in Pervasive Parallelism working with Sam Lindley and Philip Wadler, and second as a Research Software Engineer working with James Cheney. I've also worked at OCaml Labs and IntelliFactory.

Research interests

I am interested, broadly speaking, in the design and implementation of functional programming languages.

My research focuses on programming abstractions and type systems. I like putting theory into practice (most of my research is accompanied by open-source software artifacts), and practice into theory (giving us the power to precisely understand, reason about, and build upon existing programming abstractions).

Programming abstractions make it easier to write correct, more concise, and often more efficient code. As an example, my work on language-integrated query shows benefits for curated scientific databases, and my work on temporal language-integrated query brings the power of temporal databases to non-temporal RDMBSs. I am also interested in reactive programming and abstractions for programming user interfaces.

Type systems provide lightweight, language-integrated guarantees about program correctness. I am particularly interested in behavioural type systems that give strong correctness properties about runtime behaviour, such as conformance to communication protocols and deadlock-freedom.

Both of these areas are important in the era of agentic AI: coding agents allow us to write code faster, but we must still be confident in what generated code does, and whether it is correct. Just because we can write code faster does not mean we should stop striving to write better code. Programming abstractions and domain-specific languages allow us to write shorter and more concise programs that are easier to reason about, and type systems can give rapid feedback on incorrect code that is useful in both human- and AI-driven development.

My current main research focus is on mailbox types, a behavioural type system for message passing languages like Erlang and Elixir. I am the core developer of Pat, the first programming language with support for mailbox types.

Research groups

  • Formal Analysis, Theory & Algorithms

Publications

List by: Type | Date

Jump to: 2026 | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2017 | 2016 | 2015 | 2013
Number of items: 20.

2026

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Hu, Raymond (2026) Speak Now: Safe Actor Programming with Multiparty Session Types. Proceedings of the ACM on Programming Languages, 10(OOPSLA), pp. 1846-1873. 159. (doi: 10.1145/3798267)

Schiebelbein, Edgard, Bieniusa, Annette and Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2026) Proof of Delivery: Mechanized Mailbox Types. In: COORDINATION 2026 - 28th International Conference on Coordination Models and Languages, Urbino, Italy, 8-12 June 2026, pp. 195-215. ISBN 9783032283573 (doi: 10.1007/978-3-032-28358-0_10)

2025

Le Brun, Matthew Alan ORCID logoORCID: https://orcid.org/0000-0001-7394-0122, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 (2025) Multiparty Session Types with a Bang! In: 34th European Symposium on Programming (ESOP 2025), Hamilton, Canada, 3–8 May 2025, pp. 125-153. ISBN 9783031911200 (doi: 10.1007/978-3-031-91121-7_6)

2024

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Haller, Philipp, Kuhn, Roland, Lindley, Sam, Scalas, Alceste and Vasconcelos, Vasco T. (2024) Behavioural Types for Heterogeneous Systems (Position Paper). In: 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2024), Luxembourg City, Luxembourg, 06 April 2024, pp. 37-48. (doi: 10.4204/EPTCS.401.4)

2023

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Attard, Duncan Paul, Sowul, Franciszek, Gay, Simon ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 and Trinder, Phil ORCID logoORCID: https://orcid.org/0000-0003-0190-7010 (2023) Special delivery: programming with mailbox types. Proceedings of the ACM on Programming Languages, 7(ICFP), 191. (doi: 10.1145/3607832)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Kokke, Wen, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875, Lindley, Sam and Morris, J. Garrett (2023) Separating sessions smoothly. Logical Methods in Computer Science, 19(3), 3. (doi: 10.46298/lmcs-19(3:3)2023)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Attard, Duncan Paul, Sowul, Franciszek, Gay, Simon ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 and Trinder, Phil ORCID logoORCID: https://orcid.org/0000-0003-0190-7010 (2023) Artifact for "Special Delivery: Programming with Mailbox Types". [Artefact]

2022

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Galpin, Vashti and Cheney, James (2022) Language-Integrated Query for Temporal Data. In: ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE), Auckland, New Zealand, 06-07 Dec 2022, pp. 5-19. ISBN 9781450399203 (doi: 10.1145/3564719.3568690)

2021

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Kokke, Wen, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875, Lindley, Sam and Morris, J. Garrett (2021) Separating Sessions Smoothly. In: 32nd International Conference on Concurrency Theory (CONCUR 2021), 23-27 Aug 2021, 36:1-36:18. ISBN 9783959772037 (doi: 10.4230/LIPIcs.CONCUR.2021.36)

Harvey, Paul ORCID logoORCID: https://orcid.org/0000-0003-1243-938X, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 and Gay, Simon J. ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 (2021) Multiparty Session Types for Safe Runtime Adaptation in an Actor Language. In: 35th European Conference on Object Oriented Programming (ECOOP 2021), 12-17 Jul 2021, (doi: 10.4230/LIPIcs.ECOOP.2021.10)

Harvey, Paul ORCID logoORCID: https://orcid.org/0000-0003-1243-938X, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 and Gay, Simon J. ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 (2021) Multiparty Session Types for Safe Runtime Adaptation in an Actor Language. [Artefact]

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Harding, Simon D., Sharman, Joanna and Cheney, James (2021) Cross-tier web programming for curated databases: a case study. International Journal of Digital Curation, 16(1), (doi: 10.2218/ijdc.v16i1.735)

2020

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2020) Model-View-Update-Communicate: Session Types meet the Elm Architecture. In: 34th European Conference on Object-Oriented Programming (ECOOP 2020), 15-17 Nov 2020, p. 14. ISBN 9783959771542 (doi: 10.4230/LIPIcs.ECOOP.2020.14)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Horn, Rudi and Cheney, James (2020) Artifact for "Language-Integrated Updatable Views". [Artefact]

2019

Horn, Rudi, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Cheney, James (2019) Language-Integrated Updatable Views. In: 31st Symposium on Implementation and Application of Functional Languages (IFL 2019), Singapore, 25-27 Sep 2019, p. 13. ISBN 9781450375627 (doi: 10.1145/3412932.3412945)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Lindley, Sam, Morris, J. Garrett and Decova, Sára (2019) Exceptional asynchronous session types: session types without tiers. Proceedings of the ACM on Programming Languages, 3(POPL), 28. (doi: 10.1145/3290341)

2017

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Lindley, Sam and Wadler, Philip (2017) Mixing Metaphors: Actors as Channels and Channels as Actors. In: 31st European Conference on Object-Oriented Programming (ECOOP 2017), Barcelona, Spain, 18-23 Jun 2017, p. 11. ISBN 9783959770354 (doi: 10.4230/LIPIcs.ECOOP.2017.11)

2016

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2016) An Erlang implementation of multiparty session actors. Electronic Proceedings in Theoretical Computer Science, 223, pp. 36-50. (doi: 10.4204/eptcs.223.3)

2015

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Denuzière, Loïc and Granicz, Adam (2015) Reactive single-page applications with dynamic dataflow. In: Pontelli, Enrico and Son, Tran Cao (eds.) Practical Aspects of Declarative Languages: 17th International Symposium, PADL 2015, Portland, OR, USA, June 18-19, 2015. Proceedings. Series: Lecture notes in computer science (9131). Springer: Cham, pp. 58-73. ISBN 9783319196855 (doi: 10.1007/978-3-319-19686-2_5)

2013

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Brady, Edwin (2013) Dependent Types for Safe and Secure Web Programming. In: Proceedings of the 25th symposium on Implementation and Application of Functional Languages (IFL '13), Nijmegen, The Netherlands, 28-30 Aug 2013, pp. 49-60. ISBN 9781450329880 (doi: 10.1145/2620678.2620683)

This list was generated on Sat Sep 12 00:45:57 2026 BST.
Number of items: 20.

Articles

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Hu, Raymond (2026) Speak Now: Safe Actor Programming with Multiparty Session Types. Proceedings of the ACM on Programming Languages, 10(OOPSLA), pp. 1846-1873. 159. (doi: 10.1145/3798267)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Attard, Duncan Paul, Sowul, Franciszek, Gay, Simon ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 and Trinder, Phil ORCID logoORCID: https://orcid.org/0000-0003-0190-7010 (2023) Special delivery: programming with mailbox types. Proceedings of the ACM on Programming Languages, 7(ICFP), 191. (doi: 10.1145/3607832)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Kokke, Wen, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875, Lindley, Sam and Morris, J. Garrett (2023) Separating sessions smoothly. Logical Methods in Computer Science, 19(3), 3. (doi: 10.46298/lmcs-19(3:3)2023)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Harding, Simon D., Sharman, Joanna and Cheney, James (2021) Cross-tier web programming for curated databases: a case study. International Journal of Digital Curation, 16(1), (doi: 10.2218/ijdc.v16i1.735)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Lindley, Sam, Morris, J. Garrett and Decova, Sára (2019) Exceptional asynchronous session types: session types without tiers. Proceedings of the ACM on Programming Languages, 3(POPL), 28. (doi: 10.1145/3290341)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2016) An Erlang implementation of multiparty session actors. Electronic Proceedings in Theoretical Computer Science, 223, pp. 36-50. (doi: 10.4204/eptcs.223.3)

Book Sections

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Denuzière, Loïc and Granicz, Adam (2015) Reactive single-page applications with dynamic dataflow. In: Pontelli, Enrico and Son, Tran Cao (eds.) Practical Aspects of Declarative Languages: 17th International Symposium, PADL 2015, Portland, OR, USA, June 18-19, 2015. Proceedings. Series: Lecture notes in computer science (9131). Springer: Cham, pp. 58-73. ISBN 9783319196855 (doi: 10.1007/978-3-319-19686-2_5)

Conference Proceedings

Schiebelbein, Edgard, Bieniusa, Annette and Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2026) Proof of Delivery: Mechanized Mailbox Types. In: COORDINATION 2026 - 28th International Conference on Coordination Models and Languages, Urbino, Italy, 8-12 June 2026, pp. 195-215. ISBN 9783032283573 (doi: 10.1007/978-3-032-28358-0_10)

Le Brun, Matthew Alan ORCID logoORCID: https://orcid.org/0000-0001-7394-0122, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 (2025) Multiparty Session Types with a Bang! In: 34th European Symposium on Programming (ESOP 2025), Hamilton, Canada, 3–8 May 2025, pp. 125-153. ISBN 9783031911200 (doi: 10.1007/978-3-031-91121-7_6)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Haller, Philipp, Kuhn, Roland, Lindley, Sam, Scalas, Alceste and Vasconcelos, Vasco T. (2024) Behavioural Types for Heterogeneous Systems (Position Paper). In: 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2024), Luxembourg City, Luxembourg, 06 April 2024, pp. 37-48. (doi: 10.4204/EPTCS.401.4)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Galpin, Vashti and Cheney, James (2022) Language-Integrated Query for Temporal Data. In: ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE), Auckland, New Zealand, 06-07 Dec 2022, pp. 5-19. ISBN 9781450399203 (doi: 10.1145/3564719.3568690)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Kokke, Wen, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875, Lindley, Sam and Morris, J. Garrett (2021) Separating Sessions Smoothly. In: 32nd International Conference on Concurrency Theory (CONCUR 2021), 23-27 Aug 2021, 36:1-36:18. ISBN 9783959772037 (doi: 10.4230/LIPIcs.CONCUR.2021.36)

Harvey, Paul ORCID logoORCID: https://orcid.org/0000-0003-1243-938X, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 and Gay, Simon J. ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 (2021) Multiparty Session Types for Safe Runtime Adaptation in an Actor Language. In: 35th European Conference on Object Oriented Programming (ECOOP 2021), 12-17 Jul 2021, (doi: 10.4230/LIPIcs.ECOOP.2021.10)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 (2020) Model-View-Update-Communicate: Session Types meet the Elm Architecture. In: 34th European Conference on Object-Oriented Programming (ECOOP 2020), 15-17 Nov 2020, p. 14. ISBN 9783959771542 (doi: 10.4230/LIPIcs.ECOOP.2020.14)

Horn, Rudi, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Cheney, James (2019) Language-Integrated Updatable Views. In: 31st Symposium on Implementation and Application of Functional Languages (IFL 2019), Singapore, 25-27 Sep 2019, p. 13. ISBN 9781450375627 (doi: 10.1145/3412932.3412945)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Lindley, Sam and Wadler, Philip (2017) Mixing Metaphors: Actors as Channels and Channels as Actors. In: 31st European Conference on Object-Oriented Programming (ECOOP 2017), Barcelona, Spain, 18-23 Jun 2017, p. 11. ISBN 9783959770354 (doi: 10.4230/LIPIcs.ECOOP.2017.11)

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475 and Brady, Edwin (2013) Dependent Types for Safe and Secure Web Programming. In: Proceedings of the 25th symposium on Implementation and Application of Functional Languages (IFL '13), Nijmegen, The Netherlands, 28-30 Aug 2013, pp. 49-60. ISBN 9781450329880 (doi: 10.1145/2620678.2620683)

Artefact

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Attard, Duncan Paul, Sowul, Franciszek, Gay, Simon ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 and Trinder, Phil ORCID logoORCID: https://orcid.org/0000-0003-0190-7010 (2023) Artifact for "Special Delivery: Programming with Mailbox Types". [Artefact]

Harvey, Paul ORCID logoORCID: https://orcid.org/0000-0003-1243-938X, Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Dardha, Ornela ORCID logoORCID: https://orcid.org/0000-0001-9927-7875 and Gay, Simon J. ORCID logoORCID: https://orcid.org/0000-0003-3033-9091 (2021) Multiparty Session Types for Safe Runtime Adaptation in an Actor Language. [Artefact]

Fowler, Simon ORCID logoORCID: https://orcid.org/0000-0001-5143-5475, Horn, Rudi and Cheney, James (2020) Artifact for "Language-Integrated Updatable Views". [Artefact]

This list was generated on Sat Sep 12 00:45:57 2026 BST.

Supervision

I am interested in supervising UG4 and MSci projects matching my research interests. Please check the project proposal system at the start of the year, or get in touch over summer if you want to propose a concrete idea.

If you are interested in doing a PhD, please consult my website.

I am currently primary supervisor for Olivia Weston and Petros Kitazos. I'm also co-supervising Toby Ueno at the University of Edinburgh.

I had the pleasure of co-supervising the PhD studies of Matthew Alan Le Brun (graduated 2026, co-supervised with Ornela Dardha) and Rudi Horn (graduated 2023, co-supervised with James Cheney).

Teaching

I am currently teaching COMPSCI4021 (Functional Programming) with Jeremy Singer, and COMPSCI4016 (Programming Languages).