Associated research group: Minnesota Extensible Language ToolsProgramming languages and programming tasks are rarely a perfect fit: often a program could be much clarified by using a number of tailored language features, but the cost of introducing those features in the language is perceived as too high. If a programming language could be implemented in a highly modular fashion, that cost might be lower. To achieve such modularisation is the goal of Intentional Programming; language features are called intentions to emphasise the fact that language features can be tailored to the programmer's wishes. One starts with a host language, that is subsequently extended by adding new domain-specific features. Crucially, these features should be c...