ELE | Evolving Language Ecosystems

Summary
The ELE project will study the foundational principles of programming language evolution and develop practical tools and technologies for supporting the evolution of complete ecosystems. If successful, ELE will drastically decrease the cost of evolution and avoid the need to invent completely new languages every time there is a shift in hardware trends or
in programming methodology. Instead, ELE will allow evolution of languages and will support migration of code and knowledge bases. The project proceeds along two major axes. The first axis is language dynamics where new features and new capabilities are added to a preexisting language. This requires changing, at the same time, the language's specification, it's semantics, and the language's implementation, the compiler and interpreter that runs code written in the language as well the runtime libraries that provide basic capabilities. The second axis for evolution is language statics where new rules are added to enforce novel programming disciplines and where existing code artifacts are adapted to new semantics. These axes are not entirely disjoint, as static restrictions, such as a new type system, can feedback into the implementation by providing behavioral information that can be exploited by a compiler.
Unfold all
/
Fold all
More information & hyperlinks
Web resources: https://cordis.europa.eu/project/id/695412
Start date: 01-10-2016
End date: 30-09-2022
Total budget - Public funding: 3 234 000,00 Euro - 3 234 000,00 Euro
Cordis data

Original description

The ELE project will study the foundational principles of programming language evolution and develop practical tools and technologies for supporting the evolution of complete ecosystems. If successful, ELE will drastically decrease the cost of evolution and avoid the need to invent completely new languages every time there is a shift in hardware trends or
in programming methodology. Instead, ELE will allow evolution of languages and will support migration of code and knowledge bases. The project proceeds along two major axes. The first axis is language dynamics where new features and new capabilities are added to a preexisting language. This requires changing, at the same time, the language's specification, it's semantics, and the language's implementation, the compiler and interpreter that runs code written in the language as well the runtime libraries that provide basic capabilities. The second axis for evolution is language statics where new rules are added to enforce novel programming disciplines and where existing code artifacts are adapted to new semantics. These axes are not entirely disjoint, as static restrictions, such as a new type system, can feedback into the implementation by providing behavioral information that can be exploited by a compiler.

Status

CLOSED

Call topic

ERC-ADG-2015

Update Date

27-04-2024
Images
No images available.
Geographical location(s)
Structured mapping
Unfold all
/
Fold all
Horizon 2020
H2020-EU.1. EXCELLENT SCIENCE
H2020-EU.1.1. EXCELLENT SCIENCE - European Research Council (ERC)
ERC-2015
ERC-2015-AdG
ERC-ADG-2015 ERC Advanced Grant