2025
A simple keyboard shortcut to quickly toggle GitHub Copilot on and off in VS Code when you want temporary AI assistance.
Read more →
This is the first post on my new blog, and an attempt to migrate over my old posts from WordPress
Read more →
We are excited to have Chinmayi Baramashetru(https://chinmayiprabhu.com/) joining the group at Kent as a postdoctoral research associate to work on targetting programming language theory techniques to climate modelling problems. Chinmayi...
Read more →
I am cross-posting a blog post that I wrote on the ICCS blog(https://iccs.cam.ac.uk/news/artifact-evaluation-years-climate-informatics-2024) about the Artifcat Evaluation process we put in place at Climate Informatics 2024 this year.
Read more →
2024
It has been an autumn (and November) where I (Dominic) have given quite a few talks about my work in this area.
Read more →
July brought with it the third annual ICCS summer school on software engineering and programming for climate modelling. The full programme of talks is now on YouTube(https://iccs.cam.ac.uk/events/institute-computing-climate-science-annual-summer-school-2024) including my talks/training...
Read more →
I'm hiring a postdoc to work with me at the University of Kent on programming languages, tools, and systems for climate science in partnership with the Institute of Computing For...
Read more →
The 1st ACM Workshop on Programming for the Planet(https://popl24.sigplan.org/home/propl-2024) brought together researchers from computer science to discuss how to close the gap between state-of-the-art programming methods being developed in academia...
Read more →
2023
Dominic attended the World Climate Research Programme - Open Science Conference 2023(https://wcrp-osc2023.org/) in Kigali, Rwanda in October 2023.
Read more →
Dominic attended the European Geosciences Union, EGU23(https://egu23.eu/) in Vienna, which provided a great opportunity to catch-up with many of our scientific collaborators, especially in the DataWave(https://datawaveproject.github.io/) and SASIP(https://sasip-climate.github.io/) teams. There...
Read more →
Dominic was local organizer for the Climate Informatics 2023(https://cambridge-iccs.github.io/climate-informatics-2023/) conference in Cambridge, 19-21st April, where Simon Clifford presented our work in progress on improving interoperation between Fortran and pythonic machine...
Read more →
2020
I was recently working on some Haskell code (for research, with Jack Hughes) and happened to be using a monoid (via the Monoid type class) and I was rushing. I accidentally wrote x `mempty` y instead of x `mappend` y. The code with mempty type checked and compiled, but I...
Read more →
2019
Sometimes in programming you need to do a pairwise comparison of some elements coming from two collections, for example, checking possible collisions between particles (which may be embedded inside a quadtree representation for efficiency). A handy operation is then the Cartesian product of the two sets of elements, to get...
Read more →
2018
As 2018 draws to a close, I wanted to share a couple of personal thoughts from the year: one related to success/failure and the other on resolutions, which I'll cover first. Following tradition, I often make several informal New Years' resolutions, usually involving health/fitness goals. My level of success in...
Read more →
Part of my job is to give advice to my undergraduate students about exam technique and preparing for exams. I was always quite nervous about exams 'back in the day', and I put a lot of effort into revising and planning. In retrospect, I think I enjoyed these times: I...
Read more →
2017
Back in 2013, Andrew Rice and I were doing some initial groundwork on how to build tools to help scientists write better code (e.g., with the help of refactoring tools and verification tools). We talked to a lot of scientists who wrote Fortran almost exclusively, so we started creating infrastructure...
Read more →
(Blog posts for Day 1, Day 2, Day 3, Day 4 (half day)) I decided to take electronic notes at ICFP and FSCD (colocated) this year, and following the example of various people who put their conference notes online (which I've found useful), I thought I would attempt the same....
Read more →
(Blog posts for Day 1, Day 2, Day 3, Day 4 (half day)) I decided to take electronic notes at ICFP and FSCD (colocated) this year, and following the example of various people who put their conference notes online (which I've found useful), I thought I would attempt the same....
Read more →
(Blog posts for Day 1, Day 2, Day 3, Day 4 (half day)) I decided to take electronic notes at ICFP and FSCD (colocated) this year, and following the example of various people who put their conference notes online (which I've found useful), I thought I would attempt the same....
Read more →
(Blog posts for Day 1, Day 2, Day 3, Day 4 (half day)) I decided to take electronic notes at ICFP and FSCD (colocated) this year, and following the example of various people who put their conference notes online (which I've found useful), I thought I would attempt the same....
Read more →
2015
Note from 23rd August, 2017 I found this draft blog post lying around, written in the spring of 2015 while I was working at Imperial College London as a Research Associate in the Mobility Reading Group with Nobuko Yoshida. This was the fruit of a discussion with Tiago Cogumbreiro where...
Read more →
2014
Whilst experimenting with some ideas for a project, I realised I needed a quick piece of code to rearrange equations (defined in terms of +, *, -, and /) in AST form, e.g., given an AST for the equation x = y + 3, rearrange to get y = x...
Read more →
2013
I had a great time at ICFP 2013 this year where I presented my paper 'Automatic SIMD Vectorization for Haskell', which was joint work with Leaf Petersen and Neal Glew of Intel Labs. The full paper and slides are available online. Our paper details the vectorization process in the Intel...
Read more →
2012
Following my blog post last year about the 'four Rs of programming language design' I wrote a short essay expanding upon the idea which has now been included in the online post-proceedings of the ACM Onward '11 essay track (part of the SPLASH conference). The essay was a lot of...
Read more →
2011
In my previous post I discussed the new constraint kinds extension to GHC, which provides a way to get type-indexed constraint families in GHC/Haskell. The extension provides some very useful expressivity. In this post I'm going to explain a possible use of the extension. In Haskell the Functor class is...
Read more →
Back in 2009 Tom Schrijvers and I wrote a paper entitled Haskell Type Constraints Unleashed [1] which appeared at FLOPS 2010 in April. In the paper we fleshed out the idea of adding constraint synyonyms and constraint families to GHC/Haskell, building upon various existing proposals for class families/indexed constraints. The...
Read more →
Because I have some serious work to do for an impending deadline I have become particularly good at inventing ways to not work that I can convince myself are 'worthwhile'. To this end I have decided to post on my (dead) blog, which I am planning to revive with at...
Read more →
2009
Tom Schrijvers and I have a new paper describing extensions to Haskell's type-constraint term language, which considerably increases its flexibility. These extensions are particularly useful when writing polymorphic EDSLs in Haskell, thus expanding Haskell's capacity for embedding DSLs. Abstract: The popular Glasgow Haskell Compiler extends the Haskell 98 type system...
Read more →
Max Bolingbroke, Alan Mycroft, and I have written a paper on a new DSL for programming structured grid computations with the view to parallelisation, called Ypnos, submitted to DAMP '10] Abstract: A fully automatic, compiler-driven approach to parallelisation can result in unpredictable time and space costs for compiled code. On...
Read more →
Slides from my BCTCS talk entitled Lucian: Dataflow and Object Orientation: BCTCS '09 was held at Warwick University- the university that I studied for my undergraduate degree at. I enjoyed the conference particularly, as I got to spend time with Steve Matthews and Sara Kalvala (my undergraduate project supervisors from...
Read more →
This post has been imported from my old blog. I mentioned a couple of weeks ago I was going to write a post about a certain fractal. Now I have finally gotten round to writing something it has come at a very appropriate time as Britain has seen an unusual...
Read more →