Rewriting the Futhark type checker
This post is about the evolution of Futhark's type checker, motivated by a large refactoring I am about to merge. It is probably mostly of interest to other language designers, and contains some lessons I wish I had known when we first got started - although I am not particularly well-read in the type checking literature, so it's possible all of this is old hat.
The Futhark Programming Language blog
That's a clear introduction - you know what to expect.