I’m currently a Research Software Engineer on the Skye Project 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 and web programming.
Up until the end of 2018, I was a PhD student in the Centre for Doctoral Training in Pervasive Parallelism at the University of Edinburgh. My PhD thesis concentrates on typed, communication-centric functional programming languages. Part of my PhD involved working with session types on the ABCD project, supervised by Sam Lindley and Philip Wadler.
Previously, I was an intern at OCaml Labs where I compiled WebAssembly to the OCaml Backend. Before that, I was an intern at IntelliFactory, where I worked on WebSharper UI. I did my MSc by Research at the University of Edinburgh, and my BSc at the University of St Andrews.
Feel free to get in touch: you can reach me at simon.fowler -at- ed.ac.uk or simon -at- simonjf.com.
I’m generally happy to act as an external reviewer for papers which match my research interests, but I will only do so if I am able to see reviews and participate in the discussion after submitting my review.
- (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 15th January. Please consider submitting!
- (15th May 2019): My PhD thesis is now available.
- (12th March 2019): I passed my PhD viva! Thesis will be uploaded once I have made some final edits.
- (5th March 2019): I will be serving on the ICE 2019 programme committee. Please consider submitting a paper!
- (21st January 2019): I will be serving on the OOPSLA 2019 Artifact Evaluation Committee.
- (4th January 2019): New job! I’ll be starting as a Research Software Engineer on the Skye project.
- My First Artifact: An author’s perspective on the POPL’19 Artifact Evaluation process
cmm_of_wasm: From WebAssembly to Native Code via the OCaml Backend
- Session types in programming languages—a collection of implementations
- Fowler, S. Model-View-Update-Communicate: Session Types meet the Elm Architecture. Draft, October 2019. Comments very welcome!
- Fowler, S., Lindley, S., Morris, J. G., and Decova, S. Exceptional Asynchronous Session Types: Session Types without Tiers. PACMPL 3(POPL), 2019.
- Fowler, S., Lindley, S., and Wadler, P. Mixing Metaphors: Actors as Channels and Channels as Actors. ECOOP 2017.
- Fowler, S. An Erlang Implementation of Multiparty Session Actors. ICE 2016.
- Fowler, S., Denuziere, L., Granicz, A. Reactive Single-Page Applications with Dynamic Dataflow. PADL 2015.
- Fowler, S. and Brady, E. Dependent Types for Safe and Secure Web Programming. IFL 2013.
Theses and Project Reports
Typed Concurrent Functional Programming with Channels, Actors, and Sessions. PhD Thesis, University of Edinburgh, 2019.
Monitoring Erlang/OTP Applications using Multiparty Session Types. MSc by Research Thesis, University of Edinburgh, 2015.
Verified Networking using Dependent Types. BSc Project Report, University of St Andrews, 2014.
- ProWeb 2020 (Co-chair)
- ICE 2019 (Programme Committee)
- OOPSLA 2019 (Artifact Evaluation Committee) (Distinguished reviewer award)
- PLACES 2019 (Programme Committee)
- Scottish Programming Languages Seminar (SPLS), 11th October 2017 (co-organised with Craig McLaughlin)
- Scottish Programming Languages Seminar (SPLS), 21st October 2015 (co-organised with Sam Lindley and James McKinna)