Compositional design and implementation of domain-specific languages

The design and implementation of languages for a specific domain can be done on a very high level of abstraction by selecting combinable language specification components and feeding them into a language implementation system. This paper presents the LaCon idea that allows domain experts to compose elements and properties of a language by simple yes/no decisions. A LaCon (Language Constructor) automatically checks consistency of user decisions, computes consequences of decisions, and provides design style advice. An implementation of the composed language is obtained by selecting combinable specification components according to the user decisions and then feeding them into the Eli language implementation system.