"The goal of this project is the development of a growable programming language: a language whose vocabulary can easily be extended for purposes such as the development of domain-specific languages. The proposal addresses the long-standing ""holy grail"" of programming: Removing the ""representational gap"", making a program look like a description of a domain expert. This project is certainly not the first one that adresses this goal. The main novelty of this approach is its emphasis on scalability. We call an approach to grow a language scalable, if it is easy to compose multiple extensions of a language (composability), and if an extended language can be extended with the same concepts and techniques as the original language (regularity). Without composability, components can only be refined in a linear fashion. Without regularity, a different technology is required on each level of size and abstraction, thereby inhibiting scalability. If this project is successfull, it can substantially contribute to a radically new approach to programming, where many different kinds of techniques to provide domain-specific abstractions, such as frameworks, containers, libraries, domain-specific languages, code generators, and interpreters are subsumed by a single technology to grow or define a language. To this end, this project will combine and extend research results from the domains of (embedded) domain-specific languages, generative and model-driven development, aspect-oriented programming, and advanced type- and module systems."
Call for proposal
See other projects for this call
Funding SchemeERC-SG - ERC Starting Grant