I’m Simon, and I’m currently a PhD student in the Centre for Doctoral Training in Pervasive Parallelism at the University of Edinburgh.

I work on typed, communication-centric functional programming languages. Part of my PhD research has focused on providing a formal basis for type-parameterised actors, and relating them to typed channels. Some of the results can be found in Mixing Metaphors: Actors as Channels and Channels as Actors.

I’m currently working with session types on the ABCD project, supervised by Sam Lindley and Philip Wadler. I am looking at interesting language features and abstractions to make it easier to write programs in functional languages with session types, mainly in the context of the Links programming language. Currently, I am extending Links to allow the creation of distributed web applications using session-typed channels, and designing and implementing a system for exception handling.

More generally, my research interests include programming languages, session types, dependent types, and functional programming.

In the past, I have been an intern at IntelliFactory, where I worked on WebSharper UI.Next. 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.

Recent Blog Posts


Conference and Workshop Papers

Dissertations and Project Reports


  • First-class Distributed Session Types, ICFP Student Research Competition, 2nd Place (Graduate Category)