An implementation of the Arc programming language