License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.9.2.13
URN: urn:nbn:de:0030-drops-182532
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2023/18253/
Henniger, Simon ;
Amin, Nada
The Dolorem Pattern: Growing a Language Through Compile-Time Function Execution (Artifact)
Evaluation Policy
The artifact has been evaluated as described in the ECOOP 2023 Call for Artifacts and the ACM Artifact Review and Badging Policy.
Abstract
Programming languages are often designed as static, monolithic units. As a result, they are inflexible. We show a new mechanism of programming language design that allows to more flexible languages: by using compile-time function execution and metaprogramming, we implement a language mostly in itself. Our approach is usable for creating feature-rich, yet low-overhead system programming languages. We illustrate it on two systems, one that lowers to C and one that lowers to LLVM.
BibTeX - Entry
@Article{henniger_et_al:DARTS.9.2.13,
author = {Henniger, Simon and Amin, Nada},
title = {{The Dolorem Pattern: Growing a Language Through Compile-Time Function Execution (Artifact)}},
pages = {13:1--13:3},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2023},
volume = {9},
number = {2},
editor = {Henniger, Simon and Amin, Nada},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2023/18253},
URN = {urn:nbn:de:0030-drops-182532},
doi = {10.4230/DARTS.9.2.13},
annote = {Keywords: extensible languages, meta programming, macros, program generation, compilation}
}
Keywords: |
|
extensible languages, meta programming, macros, program generation, compilation |
Collection: |
|
DARTS, Volume 9, Issue 2, Special Issue of the 37th European Conference on Object-Oriented Programming (ECOOP 2023) |
Issue Date: |
|
2023 |
Date of publication: |
|
11.07.2023 |