About

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’m currently working with session types on the ABCD project, supervised by Sam Lindley and Philip Wadler. More generally, my research interests include programming languages, session types, dependent types, and functional programming. 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.

In the past, I have worked at IntelliFactory, and graduated from the University of St Andrews.

Contact

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

Research

Drafts

Conference and Workshop Papers

  • Fowler, S., An Erlang Implementation of Multiparty Session Actors. In 9th Interaction and Concurrency Experience (ICE ‘16), 8-9 June, 2016, Heraklion, Greece (pp. 36-50). Electronic Proceedings in Theoretical Computer Science 223.

  • Fowler, S., Denuziere, L., Granicz, A. Reactive Single-Page Applications with Dynamic Dataflow. In Practical Aspects of Declarative Languages (PADL ‘15), 18-19 June, 2015, Portland, OR, USA (pp. 58-73). Springer International Publishing.
  • Fowler, S. and Brady, E. Dependent Types for Safe and Secure Web Programming. In: Implementation and Application of Functional Languages (IFL ‘13), 28-30 August, 2013, Nijmegen, The Netherlands.
    • Using the Algebraic Effects framework in Idris to make guarantees about the behaviour of web applications (database access, session handling, CGI, form submission).

Dissertations and Project Reports

  • Monitoring Erlang/OTP Applications using Multiparty Session Types. MSc by Research Thesis, University of Edinburgh; 2015.
    • A framework for monitoring communication in Erlang applications, using multiparty session types, including discussions of encapsulating communication patterns, and detecting and handling failures.
  • Verified Networking using Dependent Types. BSc Project Report, University of St Andrews; 2014.
    • Using the Idris resource-dependent algebraic effects language, FFI, and DSL functionality to allow the safe use of networking libraries. Oh, and dependently-typed networked Pong.