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

Broadly speaking, my research interests are in the design and implementation of programming languages. I am particularly interested in functional programming languages, and their applications to concurrency, web applications, and data management.

Behavioural Types

Behavioural types check behavioural properties of a program during the development process, for example rejecting programs which neglect to close a file handle. Session types are a class of behavioural type system which detect communication protocol violations: if a session-typed program successfully compiles, then it respects its specified communication protocols.

My ultimate research goal is for behavioural types to become part of every programmer's toolkit, allowing developers to write concurrent and distributed applications with confidence. In support of this goal, I have worked on allowing session types to co-exist with exceptions, and integrating linear type systems with GUI programming.

I am currently interested in pushing behavioural types towards the mainstream, which requires thinking about classes of behavioural types which are amenable to distribution; the session typing interoperability problem; and how we can make behavioural typing much more lightweight.

Multi-Tier Programming

Multi-tier programming allows developers to write distributed applications in a single, uniform language. This has the advantages of type-safety when communicating between different components, and avoiding the impedance mismatch problem when needing to develop in multiple languages.

Multi-tier programming is particularly suited to web and database applications. I am a core contributor to the Links programming language, and have implemented its support for distributed session typing and temporal databases.

My current interests in this space centre around language-integrated query technologies for temporal databases, which will allow access to time-varying databases without needing to write error-prone code, or rely on expensive proprietary solutions.

Publications

List by: Type | Date

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

2025

Le Brun, Matthew Alan, 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 Jun 14 10:12:43 2025 BST.
Number of items: 18.

Articles

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

Le Brun, Matthew Alan, 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 Sun Jun 15 10:25:41 2025 BST.

Supervision

I am interested in supervising PhD, UG4, and MSc projects matching my research interests; please feel free to get in touch and we can work out an exact topic.

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

I am currently first supervisor for Olivia Hartley Weston (working on co-contextual approaches to behavioural typing) and I am currently second PhD supervisor for Matthew Alan Le Brun (working on multiparty session types for distributed algorithms; co-supervised with Ornela Dardha).

  • Rudi Horn (PhD): Language-Integrated Relational Lenses (second supervisor; co-supervised with James Cheney). 
  • Many prior BSc and MSc projects on PL-related topics

Teaching

In 2023/24, I am teaching Algorithmic Foundations 2 (with Gethin Norman) and Functional Programming (with Jeremy Singer).