From the viewpoint of adaptability, the authors classify software systems as being non reflexive, introspective and adaptive. Introducing a simple example of LL (1) languages for expressions, they present its non-reflexive and adaptive implementation using Haskell functional language. Multiple meta-level concepts are an essential demand for a systematic language approach, to build up adaptable software systems dynamically, i.e. to evolve them. A feedback reflection loop from data to code through meta-level data is the basic implementation requirement and the proposition for semi-automatic evolution of software systems.