Program can be viewed as a sequence of statements that are aimed to produce some result. The execution is done by a platform that interprets the program sequence of statements. The new result of a computation can be achieved by modification of a program, a language interpreter, or both. Software evolution as long-term process can be supported by adaptive language and by environment, which offers reflective possibilities. This paper presents our adaptive approach to both program and language modification in order to support dynamic evolution. Effective software evolution needs to be supported by appropriate execution environment. We have proposed such experimental execution environment, which allows both run-time program and language modification. As we hope, mutating a programming language to a higher abstraction may decrease structural complexity of programs in the future.