I'm a software developer with an interest in functional programming, language design, type systems, databases and database design.

I'm currently in Bristol, UK looking for the next thing (CV).


When should you use tests and when should you use types? What information and guarantees do we get for our efforts?

All articles...



Deklara is a tool that allows you to write a declarative schema and auto-generate migrations.


Kuljet is a happy little language for writing database-backed HTML applications. Its type checking and integration with relational databases should help you whip up prototypes in no time.


A spin-off of the OCell structural editor project for writing synths with a lispy flavour.


Another attempt at structural code editor.


Squee is an experimental language that breaks relational queries down in to composable functions that can be fully inferred with a few extensions to Hindley Milner. It compiles to SQL and so can be used with relational databases.

Structural Editor

A structural code editor and IDE that operates directly on abstract syntax trees instead of text files.

Document Rendering

An experimental way of rendering web documents.