The DS2 programming language