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.

Please note that while I am happy to act as an external reviewer for papers matching my research interests, I will only do so if I'm able to participate in the discussion after submitting my review.

Recent News

  • (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! Draft available soon.
  • (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!
  • (7th October 2019): With Andrea Stocco, I will be co-chairing the ProWeb 2020 workshop, co-located with the <Programming> conference. Deadline 22nd January. Please consider submitting!

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


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