An imperative programming language with lazy evaluation, for algorithmic music generation