The Gear programming language