The Constraint Imperative Programming Language Turtle

The goal of declarative programming is to provide languages and implementations which let the programmer write programs by specifying what the properties of the desired solutions should be. In imperative languages, the calculation steps leading to the solutions must be programmed explicitly. The programming language Turtle combines traditional imperative language constructs and declarative constraints. This blending of paradigms is called constraint imperative programming in literature, and Turtle is one instance of this multiparadigm approach.