English
Related papers

Related papers: A Compiler-Compiler for DSL Embedding

200 papers

In the task of automatic program synthesis, one obtains pairs of matching inputs and outputs and generates a computer program, in a particular domain-specific language (DSL), which given each sample input returns the matching output. A key…

Machine Learning · Computer Science 2023-03-14 Aran Carmon , Lior Wolf

The creation of Domain Specific Languages(DSL) counts as one of the main goals in the field of Model-Driven Software Engineering (MDSE). The main purpose of these DSLs is to facilitate the manipulation of domain specific concepts, by…

Software Engineering · Computer Science 2014-05-28 Fouquet Francois , Grégory Nain , Brice Morin , Erwan Daubert , Olivier Barais , Noël Plouzeau , Jean-Marc Jézéquel

We present a prototypical linear algebra compiler that automatically exploits domain-specific knowledge to generate high-performance algorithms. The input to the compiler is a target equation together with knowledge of both the structure of…

Mathematical Software · Computer Science 2012-05-29 Diego Fabregat-Traver , Paolo Bientinesi

Deep learning software demands reliability and performance. However, many of the existing deep learning frameworks are software libraries that act as an unsafe DSL in Python and a computation graph interpreter. We present DLVM, a design and…

Programming Languages · Computer Science 2018-02-06 Richard Wei , Lane Schwartz , Vikram Adve

We present the design of a framework to automatically generate a large range of different exercise tasks on Haskell-I/O programming. Automatic task generation is useful in many different ways. Manual task creating is a time consuming…

Software Engineering · Computer Science 2023-07-25 Oliver Westphal

Pipelining is a well understood and often used implementation technique for increasing the performance of a hardware system. We develop several SystemC/C++ modeling techniques that allow us to quickly model, simulate, and evaluate…

Hardware Architecture · Computer Science 2008-01-16 Ed Harcourt

Graph algorithms are at the heart of several applications, and achieving high performance with them has become critical due to the tremendous growth of irregular data. However, irregular algorithms are quite challenging to parallelize…

Programming Languages · Computer Science 2019-03-06 Bikash Gogoi , Unnikrishnan Cheramangalath , Rupesh Nasre

Large language models (LLMs) perform strongly on general-purpose code generation, yet their applicability to enterprise domain-specific languages (DSLs) remains underexplored, especially for repository-scale change generation spanning…

Software Engineering · Computer Science 2026-04-28 Sivajeet Chand , Kevin Nguyen , Peter Kuntz , Alexander Pretschner

Optimizing compilers are essential for the efficient and correct execution of software across various scientific fields. Domain-specific languages (DSL) typically use higher level intermediate representations (IR) in their compiler…

Programming Languages · Computer Science 2026-01-15 Berke Ates , Philipp Schaad , Timo Schneider , Alexandru Calotoiu , Torsten Hoefler

Lifting low-level or legacy code into a domain-specific language (DSL) improves our ability to understand it, enables deeper formal reasoning, and facilitates safe modification. We present the CoCompiler, a bidirectional compiler and lifter…

Programming Languages · Computer Science 2025-10-30 Naomi Spargo , Santiago Cuéllar , Jonathan Daugherty , Chris Phifer , David Darais

Numerical software in computational science and engineering often relies on highly-optimized building blocks from libraries such as BLAS and LAPACK, and while such libraries provide portable performance for a wide range of computing…

Mathematical Software · Computer Science 2019-06-21 Daniele G. Spampinato , Diego Fabregat-Traver , Markus Püschel , Paolo Bientinesi

Specialized hardware accelerators are becoming important for more and more applications. Thanks to specialization, they can achieve high performance and energy efficiency but their design is complex and time consuming. This problem is…

Hardware Architecture · Computer Science 2021-04-06 Stephanie Soldavini , Christian Pilato

Algorithmic Differentiation (AD) can be used to automate the generation of derivatives in arbitrary software projects. This will generate maintainable derivatives, that are always consistent with the computation of the software. If a domain…

Mathematical Software · Computer Science 2018-03-13 Max Sagebaum , Nicolas R. Gauger

The GCC free compiler is a very large software, compiling source in several languages for many targets on various systems. It can be extended by plugins, which may take advantage of its power to provide extra specific functionality…

Programming Languages · Computer Science 2011-09-06 Basile Starynkevitch

Traditional compilers, designed for optimizing low-level code, fall short when dealing with modern, computation-heavy applications like image processing, machine learning, or numerical simulations. Optimizations should understand the…

Programming Languages · Computer Science 2024-11-21 Roland Leißa , Marcel Ulrich , Joachim Meyer , Sebastian Hack

We discuss a formal framework for using algebraic structures to model a meta-language that can write, compose, and provide interoperability between abstractions of DSLs. The purpose of this formal framework is to provide a verification of…

Category Theory · Mathematics 2023-03-17 Zachary Flores , Angelo Taranto , Eric Bond

In Compiler Design courses, students learn how a program written in high level programming language and designed for humans understanding is systematically converted into low level assembly language understood by machines, through different…

Programming Languages · Computer Science 2022-04-14 Eduardo Adam Navas-López

Aliasing, or sharing, is prominent in many domains, denoting that two differently-named objects are in fact identical: a change in one object (memory cell, circuit terminal, disk block) is instantly reflected in the other. Languages for…

Programming Languages · Computer Science 2011-09-06 Oleg Kiselyov

Data analysis is at the core of scientific studies, a prominent task that researchers and practitioners typically undertake by programming their own set of automated scripts. While there is no shortage of tools and languages available for…

Software Engineering · Computer Science 2019-04-23 Artur Andrzejak , Oliver Wenz , Diego Costa

Writing a platform for reactive applications which enforces operational constraints is difficult, and has been approached in various ways. In this experience report, we detail an approach using an embedded DSL which can be used to specify…

Software Engineering · Computer Science 2015-04-09 Paul van der Walt