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 working remotely for FeatureSpace/VISA (CV).

Articles

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

All articles...

Projects

Deklara

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

Kuljet

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.

OCellator

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

OCell

Another attempt at structural code editor.

Squee

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.