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/
Go back to Dagstuhl Artifacts Series


Henniger, Simon ; Amin, Nada

The Dolorem Pattern: Growing a Language Through Compile-Time Function Execution (Artifact)

pdf-format:
DARTS-9-2-13.pdf (0.4 MB)

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


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI