Hi, I'm Finnbar (they/them), a PhD student supervised by Dr Gihan Mudalige (2020-2024). My work considers the use of functional programming (particularly Haskell) in low-level code, as to verify it more easily and thus prevent errors in contexts where they are particularly costly.
I also did my undergraduate degree (MEng Computer Science, first-class) here at Warwick (2016-2020).
My PhD work focuses on working with the abstraction of
As such, we look at alternatives for working with memory in a more functional style. My current plan is to use ideas from functional reactive programming - which allows you to declare how data sources affect each other - to observe some memory cell and perform operations on related memory cells when that cell changes. This means that you do not have to specify an order of execution, just relationships between memory operations. An example of existing work in this area is the Copilot language, which partially explores this idea by adding declarative runtime checks written in Haskell to existing C code.
My general research interests focus around effect systems (particularly graded monads), functional reactive programming, type-level programming and foreign function interfaces.
Keating, Finnbar and Gale, Michael B. (2021)
Graded Monads and Type-Level Programming for Dependence Analysis. (pdf)
To be published in Haskell Symposium '21. Will be available at DOI 10.1145/3471874.3472981.
Conferences and Workshops
|Date||Conference - Location||Contribution|
|Aug 2021||Haskell Symposium '21 - Online (South Korea)||Talk (video, slides coming soon)|
|April 2021||Midlands Graduate School 2021 - Online (Sheffield)||Attended|
|March 2021||BCTCS 2021 - Online (Liverpool)||Talk (slides with speaker notes, abstract)|
|December 2020||WPCCS 2020 - Online (Warwick)||Attended|
|2018-2019 (as undergraduate)|
|December 2019||WPCCS 2019 - Warwick||Attended|
|September 2018||S-REPLS 10 - Birkbeck, University of London||Attended|
I have taught on the following modules. This has involved teaching in labs and marking coursework.
- Functional Programming (CS141): 2019-20 (as an undergraduate), 2020-21
- Compiler Design (CS325): 2020-22 (only teaching labs)
- Formal Systems Development (CS412): 2021-22
I play trombone (grade 8) and bass trombone, playing in Warwick Big Band and Wind Orchestra before the pandemic. (I am hoping to get back to playing music in a group once it is safe to do so!)
I have also been involved in the running of Warwick Tabletop Games and Roleplaying Society for the past three years, taking a variety of positions in the Tabletop Exec (Comms Officer 2018-19, Secretary 2019-20, President 2020-21 and now Web Admin 2021-22).
This has involved the organisation of most of their special events in my time as an Exec member - everything from megagames (one of which won an SU award) to two online charity streams (Tabletop Radio 2020 and 2021, which raised £600 and £2048 respectively for LGBT+ charities) and even an escape room. These have involved organising teams of event runners, use of technical skills in both streaming setups and building bespoke software for events, and using a kazoo to raise a surprising amount of money1.1 Perhaps most surprisingly of all, none of this money was on the condition that I stopped playing kazoo.
Email: f.keating [at] warwick.ac.uk