The Brick language spec and reference implementation