English
Related papers

Related papers: Dependent Type Systems as Macros

200 papers

Domain specific languages (DSLs) allow domain experts to model parts of the system under development in a problem-oriented notation that is well-known in the respective domain. The introduction of a DSL is often accompanied the desire to…

Software Engineering · Computer Science 2014-09-09 Bernhard Rumpe , Ingo Weisemöller

In a high-tech country products are becoming rapidly more complex. To manage the development process as well as to encounter unforeseen challenges, the understanding and thus the explicit modeling of organizational workflows is more…

Software Engineering · Computer Science 2014-09-09 Christian Berger , Tim Gülke , Bernhard Rumpe

We scale layered modal type theory to dependent types, introducing DeLaM, dependent layered modal type theory. This type theory is novel in that we have one uniform type theory in which we can not only compose and execute code, but also…

Logic in Computer Science · Computer Science 2024-07-09 Jason Z. S. Hu , Brigitte Pientka

Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running in the network, the risk of faults also increases. Hence, there is growing…

Programming Languages · Computer Science 2022-06-08 Matthias Eichholz , Eric Hayden Campbell , Matthias Krebs , Nate Foster , Mira Mezini

Domain-specific languages raise the level of abstraction in software development. While it is evident that programmers can more easily reason about very high-level programs, the same holds for compilers only if the compiler has an accurate…

Programming Languages · Computer Science 2011-09-06 Tiark Rompf , Arvind K. Sujeeth , HyoukJoong Lee , Kevin J. Brown , Hassan Chafi , Martin Odersky , Kunle Olukotun

Reuse is a key technique for a more efficient development and ensures the quality of the results. In object technology explicit encapsulation, interfaces, and inheritance are well known principles for independent development that enable…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe , Stefan Völkel

Mella is a minimalistic dependently typed programming language and interactive theorem prover implemented in Haskell. Its main purpose is to investigate the effective integration of automated theorem provers in a pure and simple setting.…

Programming Languages · Computer Science 2011-12-19 Alasdair Armstrong , Simon Foster , Georg Struth

Session Types offer a typing discipline that allows protocol specifications to be used during type-checking, ensuring that implementations adhere to a given specification. When looking to realise global session types in a dependently typed…

Programming Languages · Computer Science 2019-04-03 Jan de Muijnck-Hughes , Edwin Brady , Wim Vanderbauwhede

Within dependently typed languages, such as Idris, types can depend on values. This dependency, however, can limit the collection of items in standard containers: all elements must have the same type, and as such their types must contain…

Programming Languages · Computer Science 2018-08-29 Jan de Muijnck-Hughes

In model-driven engineering, developing a textual domain-specific language (DSL) involves constructing a meta-model, which defines an underlying abstract syntax, and a grammar, which defines the concrete syntax for the DSL. Language…

Software Engineering · Computer Science 2024-02-01 Weixing Zhang , Jörg Holtmann , Daniel Strüber , Regina Hebig , Jan-Philipp Steghöfer

Domain-specific languages (DSLs) play a crucial role in facilitating a wide range of software development activities in the context of model-driven engineering (MDE). However, a systematic understanding of their evolution is lacking, which…

Software Engineering · Computer Science 2025-02-03 Weixing Zhang , Daniel Strüber , Regina Hebig

Metamodel-based DSL development in language workbenches like Xtext allows language engineers to focus more on metamodels and domain concepts rather than grammar details. However, the grammar generated from metamodels often requires manual…

Software Engineering · Computer Science 2023-09-11 Weixing Zhang , Jan-Philipp Steghöfer , Regina Hebig , Daniel Strüber

AI-assisted programming greatly increases software development performance. We enhance this potential by integrating transparency through domain-specific modeling techniques and providing instantaneous, graphical visualizations that…

Programming Languages · Computer Science 2025-09-08 Steven Smyth , Daniel Busch , Moez Ben Haj Hmida , Edward A. Lee , Bernhard Steffen

Linear and substructural types are powerful tools, but adding them to standard functional programming languages often means introducing extra annotations and typing machinery. We propose a lightweight substructural type system design that…

Programming Languages · Computer Science 2015-02-18 Edward Gan , Jesse A. Tov , Greg Morrisett

Model-driven software development is a promising way to cope with the complexity of system integration in advanced robotics, as it already demonstrated its benefits in domains with comparably challenging system integration requirements.…

Robotics · Computer Science 2013-02-27 Arne Nordmann , Sebastian Wrede

We define a domain-specific language (DSL) to inductively assemble flow networks from small networks or modules to produce arbitrarily large ones, with interchangeable functionally-equivalent parts. Our small networks or modules are "small"…

Programming Languages · Computer Science 2011-09-06 Azer Bestavros , Assaf Kfoury

This paper addresses the problem of specifying and parsing the syntax of domain-specific languages (DSLs) in a modular, user-friendly way. That is, we want to enable the design of composable DSLs that combine the natural syntax of external…

Programming Languages · Computer Science 2012-01-04 Erik Silkensen , Jeremy G. Siek

Synchronous programming languages emerged in the 1980s as tools for implementing reactive systems, which interact with events from physical environments and often must do so under strict timing constraints. In this report, we encode inside…

Programming Languages · Computer Science 2017-02-09 William Blair , Hongwei Xi

Automatic code synthesis from natural language descriptions is a challenging task. We witness massive progress in developing code generation systems for domain-specific languages (DSLs) employing sequence-to-sequence deep learning…

Machine Learning · Computer Science 2021-06-23 Mrinal Anand , Pratik Kayal , Mayank Singh

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak