Really Embedding Domain-Specific Languages into C++
Hal Finkel, Alexander McCaskey, Tobi Popoola, Dmitry Lyakh, Johannes, Doerfert

TL;DR
This paper introduces an extension to the Clang C++ compiler that enables embedding domain-specific languages directly into C++ code using syntax plugins, improving integration without sacrificing software engineering practices.
Contribution
It presents a novel compiler extension that allows seamless embedding of DSLs into C++ code, enhancing usability and integration.
Findings
Enables embedding DSLs into C++ without source separation
Improves integration of DSLs in large codebases
Maintains performance and reliability benefits
Abstract
Domain-specific languages (DSLs) are both pervasive and powerful, but remain difficult to integrate into large projects. As a result, while DSLs can bring distinct advantages in performance, reliability, and maintainability, their use often involves trading off other good software-engineering practices. In this paper, we describe an extension to the Clang C++ compiler to support syntax plugins, and we demonstrate how this mechanism allows making use of DSLs inside of a C++ code base without needing to separate the DSL source code from the surrounding C++ code.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
