Abstract
Programming languages greatly influence the way how programs are created and evolved. This means that the use of appropriate language for solved problem can greatly increase developer productivity. Composition of languages can provide great help in construction of a new language from existing components and for integration of several languages that may be needed to effectively solve a complex problem. In this paper we analyze the composition problem on the two levels: composition of languages and composition of concepts in a language. Possibilities of transition from language composition to concepts composition are also presented. Based on that, we propose a framework of languages construction based on concept composition that aims to support reusability of language elements and tools. It uses common host syntax for developed languages. Their semantics is defined in a general-purpose language. Proposed approach is demonstrated on example languages developed using prototype implementation.
Keywords
- Concept composition
- domain-specific language
- functional composition
- generic syntax
- language composition
- metaprogramming
Cite this article
@article{cai-1507,
author = {Sergej Chodarev and Ján Kollár},
title = {Extensible Host Language for Domain-Specific Languages},
journal = {Computing and Informatics},
volume = {35},
number = {1},
pages = {84--110},
year = {2016},
issn = {1335-9150},
url = {https://cai.type.sk/content/2016/1/extensible-host-language-for-domain-specific-languages/}
}
TY - JOUR AU - Sergej Chodarev AU - Ján Kollár TI - Extensible Host Language for Domain-Specific Languages JO - Computing and Informatics VL - 35 IS - 1 SP - 84 EP - 110 PY - 2016 SN - 1335-9150 UR - https://cai.type.sk/content/2016/1/extensible-host-language-for-domain-specific-languages/ KW - Concept composition KW - domain-specific language KW - functional composition KW - generic syntax KW - language composition KW - metaprogramming ER -
Chodarev, S., & Kollár, J. (2016). Extensible Host Language for Domain-Specific Languages. Computing and Informatics, 35(1), 84–110. https://cai.type.sk/content/2016/1/extensible-host-language-for-domain-specific-languages/