ICoLa: A Compositional Meta-Language with Support for Incremental Language Development

Authors
Publication date 2022
Host editors
  • B. Fischer
  • L. Burgueño
  • W. Cazzola
Book title SLE '22
Book subtitle proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering : December 6-7, 2022, Auckland, New Zealand
ISBN (electronic)
  • 9781450399197
Event 15th ACM SIGPLAN International Conference on Software Language Engineering
Pages (from-to) 202–215
Publisher New York, NY: The Association for Computing Machinery
Organisations
  • Faculty of Science (FNWI) - Informatics Institute (IVI)
Abstract

Programming languages providing high-level abstractions can increase programmers’ productivity and program safety. 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, a meta-language supporting incremental (meta-)programming based on reusable components. In our implementation of iCoLa, languages are first-class citizens, providing the full power of the host-language (Haskell) to compose and manipulate languages. We demonstrate iCoLa through the construction of the Imp, SIMPLE, and MiniJava languages via the composition and restriction of language fragments and demonstrate the variability of our approach through the construction of several languages using a fixed-set of operators.

Document type Conference contribution
Language English
Published at https://doi.org/10.1145/3567512.3567529
Permalink to this page
Back