Project Details
Deep Integration of Domain-Specific Languages
Applicant
Professor Dr.-Ing. Klaus Ostermann
Subject Area
Theoretical Computer Science
Term
from 2012 to 2016
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 223883118
Domain-specific languages (DSLs) are emerging as mainstream technique to increase the level of abstraction in software engineering. We propose to develop techniques for deep integration of domain-specific languages into host languages through language libraries that define domain-specificextensions and can be imported into programs like regular libraries, enabling the definition and use of DSLs without deploying a new compiler or IDE. A language library describes all aspects of a language embedding, including syntax, static analysis, translation to the host language, and its integration into the IDE.Deep integration of DSLs raises various research questions from the perspective of language design. Classical issues of module systems, separate checking, information hiding, composability, self-applicability and recursion, need new answers when the modules to be composed are language libraries. But deep integration of DSLs also has the potential for conceptual simplification, because language libraries enable the design of a minimal extensible core language from which a full language can be boot-strapped.A key challenge in IDE support for deep embedding is modular and quick online language composition. Most language engineering tools have been designed around a dichotomy between meta-programming and programming, and rely on batch-based, whole-program compilation techniques, giving rise to full recompilation of language compositions and their editors in the context of language libraries. Ensuring a responsive IDE for language libraries, requires new techniques for online language composition.We will develop a language libraries framework by building on the SpoofaxLanguage Workbench and validate it with a collection of language libraries for web programming.
DFG Programme
Research Grants
International Connection
Netherlands
Participating Person
Professor Dr. Eelco Visser