Cinnameg is a programming language that allows you to mix declarative (functional and logic) and imperative (including object-oriented) programming seamlessly.