PhD student Daniel Marshall wins student research competition prize at programming languages conference

Daniel Williams

Congratulations to PhD Computer Science candidate Daniel Marshall, who has won the Student Research Competition prize for his project Linearity, Uniqueness, Ownership: An Entente Cordiale at the ACM SIGPLAN Symposium on Principles of Programming Languages (POPL) 2022.

We caught up with Daniel to find out more about his winning project, research, and experiences as a PhD candidate at Kent. You can also see Daniel’s virtual poster for the competition on YouTube, here:

Can you tell us a bit about your research and your winning project?

My research involves working on the Granule project with my supervisor Dominic Orchard and the rest of the Granule team, which is an ambitious project with the goal of representing more information about *how* a program computes at the type-level, rather than just *what* it computes. Currently this can involve tracking resource usage throughout the language as well as capturing fine-grained information about, for example, side effects and privacy levels. I’m lucky that I’m able to work on a wide range of things involving both theory (coming up with new ideas for our type system and proving properties about them) and practice (writing code for the Granule compiler and seeing how well those ideas work in action).

My project that won first place at the POPL Student Research Competition is titled Linearity, Uniqueness, Ownership: An Entente Cordiale. Some data can be used freely in any way we like, but this isn’t always the case: some data has to be treated resourcefully, like file handles that can’t be duplicated or discarded whenever we want, or mutable arrays which we shouldn’t write to if someone else might be reading from them at the same time. There are various ways of understanding the resourceful use of data in modern programming languages, such as linear types which were recently added to Haskell, uniqueness types as in the Clean language, or Rust’s complex system of ownership and memory management. The project is about comparing the strengths and weaknesses of these ideas and unifying them so we can have all of the benefits at once.


What was it like taking part in the competition?

Taking part in the competition was very exciting and very nerve-wracking at the same time. It was a bit of a last-minute decision to enter – I wrote my extended abstract for the first round and submitted it within the space of a few days! We were supposed to have the chance to go to Philadelphia and present our work at the POPL conference itself, but what with the news about the Omicron variant the rest of the rounds ended up happening remotely; we made “virtual posters” and discussed them with the judges, and then in the final round we gave an 8-minute presentation live to conference attendees. Of course I’m very happy to have made it through all three rounds and come first place, especially as the other entries were all very impressive!


What’s it like to study at  Kent?

I’ve really enjoyed my experience studying at Kent so far. Obviously it’s been a bit different to how it might normally be, since a lot of things have been happening at a distance due to the pandemic, but even though I spent my life including my undergraduate years up in Sheffield so this is the first time I’ve really been away from home for so long I still haven’t felt as lonely as I might have done if Kent hadn’t been such a welcoming place. Whether it’s the Granule team, the wider Programming Languages and Systems research group or even just the strong community of graduate students here in general, I definitely feel like the university is somewhere I can be supported with both my work and also whenever I’m finding anything else challenging.


What are your plans for the future?

When I figure out what my plans for the future are I’ll be sure to let you know! I’d ideally like to carry on with an academic career if possible, as I’m certainly enjoying my experience of the world of research so far and it’s great to be able to work on things that are both interesting and challenging. I’m keeping my options open, though, and would definitely consider opportunities in industry if there were positions that were relevant to my interests. Either way, this achievement was a great way to make people more aware of the work I’ve been doing and get some experience with presenting to a bigger audience, and I’m glad to have been given the opportunity to take part.

Project: Linearity, Uniqueness, Ownership: An Entente Cordiale
Daniel’s project: ‘Linearity, Uniqueness, Ownership: An Entente Cordiale’