Compiling Occam into silicon