Evolving Language Ecosystems (ELE)
A computer language is more than the code that programmers write or compilers translate into machine instructions. Modern languages are characterized by rich ecosystems that include compilers, interpreters, IDEs, libraries, help pages, manuals and disscusions forums.
To remain relevant, languages need to evolve, they must be augmented with new features, their libraries must be adapted to new end user requirements, implementations must change to meet new performance goals. How can this be achieved without disrupting the entire ecosystem?
The ELE project explores the fundamental techniques and algorithms for evolving entire language ecosystems. Our purpose is to reduce the cost of wide-ranging changes to programming languages and obviate the need for devising entirely new languages.