2025
This is the first post on my new blog, and an attempt to migrate over my old posts from WordPress
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 →