I'm currently a Research Software Engineer on the Skye and Programming Language Foundations for Trusted Data Science projects at the University of Edinburgh School of Informatics, working with James Cheney. My research interests centre around typed functional programming languages, in particular functional approaches to concurrency, web programming, and data management. I'm currently working on language-integrated query for temporal data.

Previously, I was a PhD student in the Centre for Doctoral Training in Pervasive Parallelism at the University of Edinburgh, supervised by Sam Lindley and Philip Wadler. I've worked at OCaml Labs and IntelliFactory.


Feel free to get in touch: you can reach me at simon.fowler -at- ed.ac.uk or simon -at- simonjf.com.

I am generally happy to act as an external reviewer for papers matching my research interests, provided that I can see other reviews and participate in the discussion after submitting my review.

Recent News

  • (29th July 2020): I'll be serving on the LIVE 2020 PC. Please consider submitting (deadline: 4th September 2020).
  • (12th June 2020): Excited to announce that in September, I will be joining the University of Glasgow School of Computing Science to work on session types for distribution-friendly programming paradigms.
  • (9th April 2020): Model-View-Update-Communicate: Session Types meet the Elm Architecture has been accepted to ECOOP 2020!
  • (11th February 2020): Language-Integrated Updatable Views, with Rudi Horn and James Cheney, has been accepted for the IFL 2019 post-proceedings!
  • (11th February 2020): I will be serving on the ICE 2020 programme committee. Please consider submitting a paper!
  • (24th October 2019): Delighted to have been chosen as an OOPSLA AEC Distinguished Reviewer!

Blog Posts



Comments on drafts are always very welcome!

Cross-tier web programming for curated databases: A case study
Simon Fowler, Simon D. Harding, Joanna Sharman, and James Cheney


A Polymorphic RPC Calculus
Kwanghoon Choi, James Cheney, Simon Fowler, and Sam Lindley
Language-Integrated Updatable Views
Rudi Horn, Simon Fowler, and James Cheney
Exceptional Asynchronous Session Types: Session Types without Tiers
Simon Fowler, Sam Lindley, J. Garrett Morris, and Sara Decova
Mixing Metaphors: Actors as Channels and Channels as Actors
Simon Fowler, Sam Lindley, and Philip Wadler
Reactive Single-Page Applications with Dynamic Dataflow
Simon Fowler, Loic Denuziere, and Adam Granicz
Dependent Types for Safe and Secure Web Programming
Simon Fowler and Edwin Brady


Monitoring Erlang/OTP Applications using Multiparty Session Types
Verified Networking using Dependent Types