iCoLa+: An extensible meta-language with support for exploratory language development

Open Access
Authors
Publication date 05-2024
Journal Journal of Systems and Software
Article number 111979
Volume | Issue number 211
Organisations
  • Faculty of Science (FNWI) - Informatics Institute (IVI)
Abstract

Programming languages providing high-level abstractions can increase a programmers’ productivity and the safety of a program. Language-oriented programming is a paradigm in which domain-specific languages are developed to solve problems within specific domains with (high-level) abstractions relevant to those domains. However, language development involves complex design and engineering processes. These processes can be simplified by reusing (parts of) existing languages and by offering language-parametric tooling. In this paper we present iCoLa+, an extensible meta-language implemented in Haskell supporting incremental (meta-)programming based on reusable components. We demonstrate iCoLa+ through the construction of the Imp, SIMPLE, and MiniJava languages via the composition and restriction of language fragments, demonstrate the variability of our approach through the construction of several languages using a fixed-set of operators, and demonstrate the different forms of extensions possible in iCoLa+.

Document type Article
Language English
Published at https://doi.org/10.1016/j.jss.2024.111979
Other links https://www.scopus.com/pages/publications/85185262819
Downloads
1-s2.0-S0164121224000220-main (Final published version)
Permalink to this page
Back