Building Adaptive Language Systems - Kollar, Ján (2008)
The notion of change as a first-class entity in the language is the idea of software language engineering. Multiple metalevel concept is 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 metalevel data is the basic implementation requirement and the proposition for semiautomatic evolution of software systems. In this paper, we illustrate the ability for extensions primarily in horizontal but also in vertical direction of an adaptive system. From the viewpoint of adaptability, we classify software systems as being nonreflexive, introspective and adaptive. Introducing a simple example of LL(1) languages for expressions, we present its nonreflexive and adaptive implementation using Haskell functional language.