PhD student in the FP lab at the The University of Nottingham, under the supervision of Graham Hutton.
I'm really interested in programming languages (mostly functional ones) and how they can be made easier to use (e.g. interactive programming, clever type systems), plus things like program synthesis, holes, and anything else to do with incomplete programs. For my 4th year dissertation, I came up with some novel techniques for synthesising recursive functions (have a look at my paper - it should be readable without any background in the area!) and implemented them in my toy programming language, Fugue.
Another great interest of mine, and in fact where my research is mostly focusing at the moment, is compiler calculation. This is where we can write a specification for some programming language as a high-level semantics (e.g. a tree-walking evaluator) and derive a compiler and a virtual machine for that language. My latest (and first) paper in this area, a functional pearl titled Calculating Compilers Effectively, has been accepted for publication in the Haskell Symposium, 2024.
Outside of my research, my interests include climbing, reading (mostly sci-fi and fantasy), and being slightly obsessive about coffee. I also have an assortment of various programming projects which I work on from time to time. Also, I'm a big hackathon enjoyer, when they're in season.
Most of my old projects are completely unfinished, but feel free to have a look around my GitHub page nevertheless. Amongst the 150-or-so cobweb-encrusted repositories there, there are some pretty cool things!
In practice, hackathons are pretty much the only time I actually get round to finishing projects... Saying that, here are some other projects which I have actually finished, or at least gotten sick of and called them done.
Also, I've made some websites over the years which may be useful and/or fun and/or interesting to some people! Please do let me know if any of these links are dead; they shouldn't be.
I've also made some websites for other people/societies.
I've also appeared on Computerphile! My video is about L-systems, and you can watch it here!
If you want to contact me, the best way is probably through Discord, where I'm zacmg
. Or, you can email me at me <at> this domain . co . uk
.
I go to a lot of hackathons. It's a great joy of mine, and I've written up all of the hackathon projects I've done over the years here. Here are some of my favourites:
I'm also a volunteer at Hackathons UK, and I used to be the lead organiser of HackNotts.
Something which I enjoy a lot and really want to do more of is "mixed reality". In particular, I mean projects which combine physical objects with actuators and (hopefully hidden) sensors, with software, to give some kind of experience. As a piece of art, really.
I've done some things like this at various hackathons, but probably the most elaborate was an art installation about a children's book called The Singing Mermaid, by Julia Donaldson.
There's a lot of stuff on this website, but most of it can be found through the links at the top. Mostly, it's here to be a bit of a portfolio and a bit of a space for me to dump links in and send to people. There are also some things in the works (like a blog), but we'll see how those go.
There are also some maybe-interesting videos and clips of some of my projects and activities on my YouTube channel.